‘‘‘一,面向对象的进阶 成员 (字段 静态字段(每个对象都有一份用 (区别:没self)),普通字段(每个对象都不同的数据用(区别:有self)) 方法 静态方法(无需使用对象封装的内用用 (区别:没self)),类方法,普通方法(使用对象中的数据用(区别:有self)), 特性 普通特性(将方法伪造成字段的方法去执行,前提是要创建一个值去接收它。) ) 通过类访问:静态字段,静态方法(staticmethod),类方法(classmethod) 通过对象访问:普通字段,类的方法。 ————快速判断,类执行,对象执行 调用(有self用对象调用。无self用类调用) 成员修饰符 面向对象中一些常用特殊方法 __init__ __call__ __delitem__ 二,异常处理 三,单列模式‘‘‘ ‘‘‘ 导入模块 m = __import__(‘python‘,fromlist = True) 去模块中寻找类 class_name = getattr(m,‘Foo‘) 根据类创建对象 obj = class_name(‘Alex‘) 去对象中寻找name对应的值 val = getattr(obj,‘name‘) ‘‘‘ class Foo: #静态字段 country = ‘china‘ def __init__(self,name): #普通字段 self.name = name #普通方法 def show(self): print(‘111‘) @classmethod def xxoo(cls): print(‘class‘) #静态方法 @staticmethod def xx(): print(‘22‘) #特性,将方法伪造成一种字段的形式 @property def end(self): temp = ‘%s pp‘%self.name return temp @end.setter def end(self,velue): print(velue) #类访问静态字段 print(Foo.country) #类访问静态方法 Foo.xx() #类访问类方法 Foo.xxoo() #特性伪造成字段的形式去访问,不用加括号。 obj = Foo(‘奥巴马‘) print(obj.end) #字段可以重新复制 Foo.country = ‘中国‘ print(Foo.country) ‘‘‘字段既然可以重新赋值,那么伪造静态的形式,是否也可以进行重新赋值呢。当然OK了。前提是要创建一个值去接收它。 ‘‘‘ Foo.end = ‘123‘ print(Foo.end)
原文:http://www.cnblogs.com/cloniu/p/6240760.html