在编程中,`type()` 函数用于获取一个对象的类型信息。它的基本用法非常简单,只需要将要获取类型的对象作为参数传入即可。`type()` 函数返回一个表示对象类型的类对象。
基本用法
```python
x = 10
print(type(x)) 输出:
y = "hello"
print(type(y)) 输出:
z = [1, 2, 3]
print(type(z)) 输出: ``` 进阶技巧 `type()` 函数还能动态创建类。这在元编程中非常有用。 ```python def say_hello(self): print(f"Hello, I'm {self.name}") MyClass = type('MyClass', (object,), {'name': 'Bob', 'say_hello': say_hello}) obj = MyClass() obj.say_hello() 输出: Hello, I'm Bob ``` 单例模式是一种常用的设计模式,它保证一个类只有一个实例。我们可以使用 `type()` 函数来实现单例模式。 ```python class Singleton(object): _instance = None def __new__(cls, *args, kwargs): if not cls._instance: cls._instance = super(Singleton, cls).__new__(cls, *args, kwargs) return cls._instance 使用 Singleton 类 obj1 = Singleton() obj2 = Singleton() print(obj1 is obj2) 输出: True ``` 动态类型检查 `type()` 函数还可以用于动态类型检查。 ```python def print_length(obj): if type(obj) == str: print("字符串长度为:", len(obj)) elif type(obj) == list: print("列表长度为:", len(obj)) else: print("不支持的类型") print_length("hello") 输出: 字符串长度为: 5 print_length([1, 2, 3]) 输出: 列表长度为: 3 print_length(10) 输出: 不支持的类型 ``` 总结 `type()` 函数在编程中是一个非常实用的工具,可以用于获取对象的类型信息,动态创建类,以及进行动态类型检查。通过这些用法,可以更好地理解和操作对象的类型。动态创建类
单例模式