标签:
class Province:country = ‘CN‘ //静态字段,保存在类中def __init__(self,name):self.name = name //动态字段,保存在对象中
hn = Province(‘河南‘)sx = Province(‘陕西‘)
class Province:country = ‘CN‘
def __init__(self,name):self.name = name# 普通方法def show(self):print(self.name)# 静态方法@staticmethoddef f1(arg): //没有self参数,有用户参数arg,可以有多个# 类方法print(‘xxxx‘,arg)@classmethoddef function(cls): //至少要有一个cls参数,可以有N个用户参数arg
pass
# 动态方法,对象去调用执行obj = Province(‘shanxi‘)obj.show()# 静态方法,类去调用执行Province.f1(‘qiaogy‘)# 类方法,类调用执行Province.function() //python会自动讲该“类名称”传递给cls参数
class Pager:def __init__(self,all_count):self.all_count = all_count
@property # 可以不加括号调用def function1(self):pass
@function1.setter # 可以赋值调用,因为是赋值,所以必须要有参数接收值def all_pager(self,value):pass
@function1.deleter # 可以删除调用def all_pager(self):pass
# 实例化对象,并通过属性进行方法调用obj = Pager(101)obj.all_pager # 类似访问字段的样子,调用相应的方法,(访问字段没有括号)obj.all_pager = 111 # 类似字段赋值的方式,调用相应的方法,且将值传给函数的形参del obj.all_pager # 类似字段删除的方式,调用相应的方法
class Pager:def __init__(self,all_count):self.all_count = all_count# 三个方法def f1(self):passdef f2(self,value):passdef f3(self):pass# 创建属性关联关系,相当于对property函数传关键字参数foo = property(fget=f1, fset=f2, fdel=f3)
# 实例化对象,并通过属性进行方法调用p = Pager(101)p.foo # 通过foo字段规定的属性关系中找 fget指向的函数名,并执行该函数 (若有返回值,可接受,比如ret = p.foo)p.foo = ‘111‘ # 通过foo字段规定的属性关系中找 fset 指向的函数名,并执行该函数del p.foo # 通过foo字段规定的属性关系中找fdel指向的函数名,并执行该函数
标签:
原文地址:http://www.cnblogs.com/qiaogy/p/5818665.html