1. class 的使用和定义
#!/usr/bin/python3 class JustCounter: __secretCount = 0 # 私有变量 publicCount = 0 # 公开变量 def count(self): self.__secretCount += 1 self.publicCount += 1 print (self.__secretCount) counter = JustCounter() counter.count() counter.count() print (counter.publicCount) print (counter.__secretCount) # 报错,实例不能访问私有变量
$ ./1_class.py 1 2 2 Traceback (most recent call last): File "./1_class.py", line 16, in <module> print (counter.__secretCount) # 报错,实例不能访问私有变量 AttributeError: 'JustCounter' object has no attribute '__secretCount'
2. 使用__init__() 为对象设置初始值
#!/usr/bin/python3 #类定义 class people: #定义基本属性,这里可以省略,在__init__()中全部赋值就可以 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 #定义构造方法 def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 说: 我 %d 岁。" %(self.name,self.age)) # 实例化类 p = people('wwj',10,30) p.speak() #类外访问类的数据,不能访问p.__weight print("name:%s, age:%d" %(p.name, p.age)) #print("weight:%d" %(p.__weight))
$ ./class_test.py wwj 说: 我 10 岁。 name:wwj, age:10
继承
#单继承示例 class student(people): grade = '' def __init__(self,n,a,w,g): #调用父类的构函 people.__init__(self,n,a,w) self.grade = g #覆写父类的方法 def speak(self): print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade)) s = student('ken',10,60,3) s.speak()
标签:__,.__,self,age,使用,print,class,python3 From: https://www.cnblogs.com/jyfyonghu/p/18493181