类成员的详细笔录及实例

 
 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)
原文地址:https://www.cnblogs.com/sanjiang/p/5246303.html