python的类的内置公有私有变量

1、类的内置变量
class Employee:
    '''
    员工的基本信息
    '''
    empCount = 0
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1
    def displayCount(self):
        print
        "Total Employee %d" % Employee.empCount
    def displayEmployee(self):
        print
        "Name : ", self.name, ", Salary: ", self.salary

print("Employee.__doc__:", Employee.__doc__ )       #类的文字类说明
print("Employee.__name__:", Employee.__name__)      #类的名字
print("Employee.__module__:", Employee.__module__)  #类定义所在模块的名字,当前类的全名__main__.employee,
# 如果位于另外一个导入模块mymod中,那么className.__module__就等于mymod。
print("Employee.__bases__:", Employee.__bases__)    #类的所有父类构成元素
print( "Employee.__dict__:", Employee.__dict__)     #类的所有属性(包含一个字典,由类的数据属性组成)

2、类的公有变量,私有变量
class JustCounter:
    __secretCount=0    #私有变量,两个下划线开头,声明该方法为私有方法,不能在类地外部调用。
    publicCount=0      #公有变量
    def count(self):
        self.__secretCount+=1
        self.publicCount+=1
        print(self.__secretCount)  #在类的内部调用self.__private_attrs。

counter=JustCounter()
counter.count()
counter.count()
print(counter.publicCount)
print(counter._JustCounter__secretCount)  #实例不能访问私有变量,可以使用 object._className__attrName 访问属性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章