python实例属性的查找顺序
发布时间:2024-07-21 20:27:08

查找顺序
1、实例使用。访问属性,会先找到自己的__dict__。
2、如果没有,然后通过属性__class找出自己的类别,然后去类别__dict__中找。
请注意,如果实例使用__dict__[变量名]访问变量,不会根据上述搜索变量,这是指使用字典的key搜索,而不是属性搜索。一般来说,类变量是用全写命名的。
实例
classMyclass:
"""Myclass"""
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)#502020
print(Myclass.heighe,tom.heighe,jerry.heighe)#180180180
#jerry.heighe=170
print(Myclass.heighe,tom.heighe,jerry.heighe)#180180170
#tom.heighe+=10
print(Myclass.heighe,tom.heighe,jerry.heighe)#180190180
#Myclass.heighe+=20
print(Myclass.heighe,tom.heighe,jerry.heighe)#200200200
Myclass.weight=90
print(Myclass.weight,tom.weight,jerry.weight)#909090
print(Myclass.__dict__["age"])#18
print(jerry.__dict__["age"])#20
print(tom.__dict__["heighe"])#KeyError:'heighe'
print(Myclass.__dict__["weight"])#90以上是python实例属性的搜索顺序,希望对大家有所帮助。更多Python学习指导:python基础教程
本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
下一篇 python类实例化如何实现
