python-定义类的属性

https://blog.csdn.net/Rao_Juan/article/details/86216448

#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}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值