1、utf-8
2、类属性、实例属性、私有属性
3、静态方法
4、类方法。。主程序可调用类方法生成新类
5、@property
6、继承
代码:
1 #coding=utf-8 #默认是ASCII编码。因含有中文注释,故设为utf-8。注意,此处不能有空格
2 class washer(object): #需继承默认的父类object,否则 property等无法生效
3 company = "LENOVO" #类属性
4
5 def __init__(self,water = 0,scour = 0): #初始化 实例属性
6 self._water = water #私有属性(一根下划线,可改;两根下划线,不可改)
7 self.scour = scour
8 self.year = 1993
9
10 @staticmethod #静态方法
11 def spins_ml(spins):
12 return spins * 3.14
13
14 @classmethod #类方法 cls 即class
15 def get_washer(cls,water,scour): #类方法的第一个参数 必须为 cls
16 #print('出厂日期:',self.year) #报错。类方法中不能引用类的实例属性。因实例属性在 实例化之前是不存在的
17 print('company:',cls.company)
18 return cls(water,cls.spins_ml(scour)) #此处调用了 静态方法 spins_ml,格式 cls.spins_ml()
19
20 @property #属性包装_可读
21 def water(self):
22 return self._water
23
24 @water.setter #属性包装_可写 setter
25 def water(self,v_water):
26 if 0 < v_water <= 500: #对water值的设置 进行 限定
27 print("set success!")
28 self._water = v_water
29 else:
30 print("set failure!")
31
32 def set_water(self,water):
33 self.water = water
34
35 def set_scour(self,scour):
36 self.scour = scour
37
38 def add_water(self):
39 print('Add water:',self.water)
40
41 def add_scour(self):
42 print('Add scour:',self.scour)
43
44 def start_wash(self):
45 self.add_water()
46 self.add_scour()
47 print('start wash.....')
48
49 if __name__ == '__main__': #主程序
50
51 print('***********')
52 aa = washer()
53 print(aa.company)
54 aa.set_water(100)
55 aa.set_scour(100)
56 aa.start_wash()
57
58 print('***********')
59 bb = washer.get_washer(-200,200); #调用类方法 来生成 washer类
60 print('birth year:',bb.year)
61 print(bb.scour)
62
63 print('***********')
64 cc = washer()
65 print(cc.water)
66 print('***')
67 cc.water = -250
68 print(cc.water)
69 print('***')
70 cc._water = 10000
71 print(cc.water)
72 print('***')
73 cc.water = 300
74 print(cc.water)
执行: