您的当前位置:首页python-定义类的属性
python-定义类的属性
来源:锐游网
#conding: utf-8
#定义类的属性
class Programer(object): #定义了一个Programer类
hobby = "Play Computer" #直接在类里面直接定义一个属性hobby
def __init__(self, name, age, weight): #在构造函数里面定义了三个属性
self.name = name #属性可以公开访问
self._age = age #私有属性,要访问依然可以访问
self.__weight = weight #要让方法或属性成为私有(不能从外部访问),只需让其名称以两个下划线打头即可
def get_weight(self): #在类里面定义了一个方法,来获取weight
return self.__weight
if __name__ == '__main__':
programer = Programer('jodie', 25, 85) #将Programer这个对象实例化
print(dir(programer)) #将programer的所以属性打印一下
print(programer.__dict__) #打印从构造函数里获得的属性
print(programer.get_weight()) #对象.方法
'''
在类定义中,对所有以两个下划线打头的名称都进行转换,即在开头加上一个下划线和类名
这样就能从类外部访问私有方法,一般不这样做
'''
print(programer._Programer__weight)
运行后的结果打印:
D:\Jodie2019\venv\Scripts\python.exe D:/Jodie2019/study/study4定义类的属性.py
['_Programer__weight', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__',
'__ge__','__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__',
'__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__','__repr__', '__setattr__', '__sizeof__',
'__str__','__subclasshook__', '__weakref__', '_age', 'get_weight', 'hobby', 'name']
{'name': 'jodie', '_age': 25, '_Programer__weight': 85}
85
85
Process finished with exit code 0
因篇幅问题不能全部显示,请点此查看更多更全内容