导语:
本文主要介绍了关于python实例属性的查找顺序的相关知识,希望可以帮到处于编程学习途中的小伙伴
查找顺序
1、实例使用.来访问属性,会先找到自己的__dict__。
2.如果没有,那就通过属性__class__找到自己的类,然后去类的__dict__中找。
注意,如果实例使用__dict__[变量名]访问变量,则不会按照上面的方式查找变量,这说明使用字典的键查找不是属性查找。通常,类变量以全部大写命名。
实例
class Myclass:
"""My class """
heighe = 180
age = 18
def __init__(self,name,age=20):
self.name = name
self.age = age
jerry = Myclass("jerry",20)
tom = Myclass("tom")
#Myclass.age = 50
print(Myclass.age,tom.age,jerry.age) # 50 20 20
print(Myclass.heighe,tom.heighe,jerry.heighe) # 180 180 180
#jerry.heighe = 170
print(Myclass.heighe,tom.heighe,jerry.heighe) # 180 180 170
#tom.heighe +=10
print(Myclass.heighe,tom.heighe,jerry.heighe) # 180 190 180
#Myclass.heighe += 20
print(Myclass.heighe,tom.heighe,jerry.heighe) # 200 200 200
Myclass.weight = 90
print(Myclass.weight,tom.weight,jerry.weight) # 90 90 90
print(Myclass.__dict__["age"]) # 18
print(jerry.__dict__["age"]) # 20
print(tom.__dict__["heighe"]) # KeyError: 'heighe'
print(Myclass.__dict__["weight"]) # 90
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python脚本出现乱码怎么解决12/31
- ♥ 如何在python中打开文件10/19
- ♥ python字典的底层原理10/17
- ♥ python断言的使用10/16
- ♥ python如何释放内存08/22
- ♥ python 32位和64位有什么区别10/31
内容反馈