1 ''' 2 类成员的组成: 3 字段: 4 1、普通字段 5 2、静态字段 6 方法: 7 1、普通方法 8 ''' 9 ''' 10 字段:普通字段,静态字段 11 ''' 12 #/usr/bin/python 13 class wu(object): 14 #静态字段 15 name = 'sanjiang' 16 17 def __init__(self,name,age): 18 #普通字段 19 self.name = name 20 self.age = age 21 #直接访问普通字段 22 obj = wu('sanjiang',18) 23 print(obj.name,obj.age) 24 #直接访问静态字段 25 print(wu.name) 26 27 ''' 28 类方法:普通方法。静态方法,类方法 29 普通方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self; 30 类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类复制给cls; 31 静态方法:由类调用;无默认参数; 32 ''' 33 class method(object): 34 35 def __init__(self,name): 36 self.name = name 37 38 def ordinary(self): 39 #定义普通方法 40 print('这是一个类的普通方法') 41 42 @classmethod 43 def class_method(cls): 44 #定义类方法,至少传一个cls参数 45 print('这是一个类方法') 46 @staticmethod 47 def static_method(): 48 #定义静态方法 ,无默认参数 49 print('这是一个静态方法') 50 #调用普通方法 51 function_method = method('sanjiang') 52 function_method.ordinary() 53 #调用类方法 54 method.class_method() 55 #调用静态方法 56 method.static_method() 57 58 ''' 59 属性的基本使用 60 ''' 61 62 class attribute(object): 63 def function(self): 64 pass 65 66 #定义属性 67 68 @property 69 def func_property(self): 70 print('属性') 71 attr_obj = attribute() 72 # attr_obj.function() 73 attr_obj.func_property 74 75 76 #私有成员 77 78 class private(object): 79 def __init__(self): 80 self.__foo = '私有字段' 81 def func(self): 82 print(self.__foo) #类内部访问 83 84 class d(private): 85 def show(self): 86 print(self.__foo) 87 obj = private() 88 obj.func() 89 # obj1 = d() 90 # obj1.show() 会报错 只能类内部访问 91 #非要访问私有属性的话如下: 92 print(obj._private__foo)