# -*- coding: utf-8 -*-
class Employee:
'所有员工的基类'
__secretCount = 0; # 私有变量
empCount = 0 # 类变量
def __init__(self, name, salary):
print '执行了__init__方法'
self.name = name
self.salary = salary
Employee.empCount += 1
# 类的方法,在类的内部,使用def关键字可以为类定义一个方法,与一般方法定义不同
# 类方法必须包含参数self,且为第一个参数
def displayCount(self):
print 'class_name =', self.__class__.__name__
print 'Total Employee %d ' % Employee.empCount
def displayEmployee(self):
print 'name:', self.name , ',salary:', self.salary
emp1 = Employee('zhangsan', 4000)
emp1.displayCount()
emp1.displayEmployee()
'''
Python不允许实例化的类访问私有数据
但是可以使用object_className__attrName访问私有属性
一个'_'和两个'__'
'''
# print emp1.__secretCount
print emp1._Employee__secretCount
'''
emp2 = Employee('lisi', 8000)
emp2.displayCount()
emp2.displayEmployee()
# 添加一个属性
emp1.age = 23
# 删除'age'属性
# del emp1.age
# 判断对象是否有这个属性
if hasattr(emp1, 'age'):
print 'emp1 age is', emp1.age
else:
print 'emp1 没有age属性!'
print Employee.__name__
print Employee.__doc__
print Employee.__dict__
'''
参考文章:http://www.w3cschool.cc/python/python-object.html