直接看代码写法:
class Student:
"这是Student类的说明" #__doc__
objCount = 0 #类的静态变量
def __init__(self, name, age): #构造函数,创建类的实例调用
print("构造方法!")
self.name = name #self代表对象
self.__age = age # 以__开头私有属性
Student.objCount += 1
def __del__(self): #析构函数
#self.__class__指向类
Student.objCount -= 1
print("销毁",self.__class__.__name__, self.name)
def Age(self):
"这是Age的说明"
return self.__age
def Show(self): #成员函数
"这是Show的说明"
print( "姓名:", self.name, ",年龄:", self.__age)
def __Show222(self): #以__开头私有成员函数
print( "姓名:", self.name, ",年龄:", self.__age)
def Count(self): #成员函数
"这是Count的说明"
print ("学生人数 %d" % Student.objCount)
#创建类对象
stu1 = Student("张三", 12)
print(stu1.name)
#print(stu1.__age) #私有变量不能访问
print(stu1.Age())
stu1.Show()
#stu1.__Show222() #私有函数不能访问
stu1.Count()
stu2 = Student("李四", 22)
stu2.Show()
stu2.Count()
#测试对象的属性与方法
print(hasattr(stu2, 'Show')) #测试是否有Show方法
print(hasattr(stu2, '__age'))
getattr(stu2, 'Show')() #获取一个方法
setattr(stu2, 'sex','男') #设置一个属性
print(stu2.sex)
print("------------------------------------")
#类属性(python内置)
print(Student.__dict__) #类的属性
print(Student.__name__) #类名
print(Student.__doc__ ) #类的文档字符串
print(Student.__module__) #类定义所在的模块
print(Student.__bases__) #父类组成的元组
print("------------------------------------")
help(Student) # 查看模块、类型、类、对象的帮助