object类是什么
时间: 2023-07-31 10:10:12 浏览: 44
在Python中,所有的类都继承自object类。object类是所有类的基类,也是Python中最基本的类之一。它定义了所有Python类的通用方法和属性,包括:
- __new__(cls[, ...]):创建一个对象实例,cls表示类本身,...表示其他可选参数;
- __init__(self[, ...]):初始化对象,self表示对象本身,...表示其他可选参数;
- __str__(self):返回对象的字符串表示;
- __repr__(self):返回对象的描述字符串;
- __eq__(self, other):判断对象是否相等;
- __hash__(self):返回对象的哈希值;
- 等等。
除了这些通用方法和属性,object类还有一个__dict__属性,它是一个字典,存储了对象的所有属性和方法。
在Python中,所有的类和对象都是动态的,可以在运行时添加属性和方法。这得益于object类提供的动态属性和方法,例如:
```python
class MyClass:
pass
obj = MyClass()
obj.name = "Alice"
obj.say_hello = lambda: print("Hello, I'm", obj.name)
obj.say_hello() # 输出:Hello, I'm Alice
```
在这个例子中,我们创建了一个空类MyClass,并创建了一个对象obj。然后,我们通过动态添加属性和方法的方式,给对象obj添加了name属性和say_hello()方法。这些动态属性和方法都是继承自object类的。