Python 类的属性

一.定义类的属性

1.直接在类里定义

      
class Programer(object):
    hobby = 'play computer'

         若不主动对此属性进行编程修改, Programer定义的类均有hobby属性且值均为‘play computer’。

2.在构造函数里定义

class Programer(object):
    hobby = 'play computer'

    def __init__( self, name, age, weight ):
        self.name = name
        self._age = age
        self.__weight = weight
      在构造对象时传值,对本对象的属性进行赋值。每个对象的属性值由类定义对象初始化时确定。当然也可以在构造函数参数列表中对各属性赋默认值。


二.访问的控制

      在c语言中,类的属性有三种访问控制权限,private;public;protect。但是在Python中并没有访问控制这样说,即没有私有变量。

      在实际编程工作中,主要靠命名规范来约束。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Programer(object):
    hobby = 'play computer'

    def __init__( self, name, age, weight ):
        self.name = name
        self._age = age   #‘私有’成员变量,python编程规范的一种约束,而不是python本事语法的一种约束
        self.__weight = weight  #Python一种变相的‘私有’成员变量
        #可通过 programer._Programer__weight 方式来访问,其中programer为类定义的一个对象

    def get_weight(self):
        return self.__weight

if __name__  ==  '__main__':
    programer = Programer('Albert', 25, 80)
    programer.hobby = 'play basketball'
    print dir(programer)
    print programer.__dict__
    print programer.get_weight()
    print programer._Programer__weight



参考:

慕课网《python 面向对象》课程,主讲老师:剑圣OMG



猜你喜欢

转载自blog.csdn.net/m0_37519490/article/details/79864561