python实例属性的查找顺序

  • 更新时间:2021-07-08 08:46:10
  • 编辑:焦香巧
给寻找编程代码教程的朋友们精选了相关的编程文章,网友惠智勇根据主题投稿了本篇教程内容,涉及到Python相关内容,已被956网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

参考资料

正文内容

为学习python的程序员分享一篇技术文章,代码整理的很实用,把代码做了调试发布出来,希望大家能有所收获。

python实例属性的查找顺序

查找顺序

1、实例使用.来访问属性,会先找到自己的__dict__。

2、如果没有,然后通过属性__class__找到自己的类,再去类的__dict__中找。

注意,如果实例使用__dict__[变量名]访问变量,将不会按照上面的查找变量了,这是指明使用字典的key查找,不是属性查找。一般来说,类变量使用全大写来命名。

实例

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

以上就是python实例属性的查找顺序,希望对大家有所帮助。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

相关教程

  • python实现文件批量重命名

    这篇文章主要为大家详细介绍了python实现文件批量重命名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2021-05-02

  • python excel多行合并的方法

    这篇文章主要介绍了python excel多行合并的方法,帮助大家更好的利用python处理excel表格,感兴趣的朋友可以了解下

    发布时间:2021-05-02

用户留言