python类__dict__
时间: 2024-06-08 11:03:50 浏览: 203
在 Python 中,`__dict__` 是每个对象(包括类)内部的一个特殊属性,它是一个字典,用于存储对象的属性和方法。当你创建一个类并给它添加属性时,这些属性会自动被添加到 `__dict__` 中。`__dict__` 的键通常是属性名,值则是对应的属性值。
当你访问一个对象的属性时,Python 实际上是查找 `__dict__` 字典。如果找到了,就返回对应值;如果 `__dict__` 中没有找到,Python 会继续向上搜索其父类的 `__dict__`,直到找到或到达 `object` 类(所有类的基类)为止。
举个例子:
```python
class MyClass:
def __init__(self):
self.my_attribute = 'hello'
# 创建对象并查看它的 __dict__
my_instance = MyClass()
print(my_instance.__dict__) # 输出:{'my_attribute': 'hello'}
```
相关问题
python __dict__
Python的__dict__属性是一个字典,它包含了一个对象的命名空间。在Python中,一些常用的数据类型如int、list和dict是没有__dict__属性的。这是因为它们只是用来做数据容器的,不需要保存额外的命名空间。如果尝试访问这些数据类型的__dict__属性,会引发AttributeError异常,提示对象没有__dict__属性。
python的__dict__
__dict__ 是 Python 中每个对象(包括类对象和实例对象)的一个属性,它是一个字典,用于存储对象的属性和对应的值。
对于类对象来说,__dict__ 存储了类的属性和对应的值。这些属性可以是类变量、类方法、静态方法等。通过访问类的 __dict__ 属性,可以获取到类的属性字典。
对于实例对象来说,__dict__ 存储了实例对象的属性和对应的值。这些属性可以是实例变量、实例方法等。通过访问实例对象的 __dict__ 属性,可以获取到实例对象的属性字典。
下面是一个简单的示例:
```python
class MyClass:
class_var = "Hello" # 类变量
def __init__(self):
self.instance_var = "World" # 实例变量
def instance_method(self):
print("This is an instance method.")
print(MyClass.__dict__)
# 输出:{'__module__': '__main__', 'class_var': 'Hello', '__init__': <function MyClass.__init__ at 0x000001>, 'instance_method': <function MyClass.instance_method at 0x000002>}
obj = MyClass()
print(obj.__dict__)
# 输出:{'instance_var': 'World'}
```
需要注意的是,对于内建类型的对象(如 int、str 等),它们的 __dict__ 属性是不可访问的。只有自定义的类对象和实例对象才具有 __dict__ 属性。
阅读全文