标签:def print @class 实例变量 init eating tin 实例 foo
```#
# 静态方法(只是名义上归类管理,但实际上在今天方法里无法访问类或实例中的任何属性)
class cat(object):
def __init__(self,name):
self.name=name
@staticmethod # 实际上和类没关系了
def eat(self):
print("%s is eating %s "%(self.name,"food"))
c=cat("alex")
c.eat(c) #强行有关系要把实例传进去(其实就是一个函数)
# 类方法
class cat(object):
name="alex" # 类变量
def __init__(self,name):
self.name=name
@classmethod # 类方法只能访问类变量,不能访问实例变量
def eat(self):
print("%s is eating %s "%(self.name,"food"))
c=cat("拉大")
c.eat() #强行有关系要把实例传进去(其实就是一个函数)
# 属性方法(把一个方法变成静态属性)
class cat(object):
name="alex" # 类变量
def __init__(self,name):
self.name=name
self.__food=None
@property # 把一个方法变成静态属性
def eat(self):
print("%s is eating %s " % (self.name,self.__food))
@eat.setter #(修改)
def eat(self,food):
print("set food is " , food)
self.__food=food
@eat.deleter #(删除)
def eat(self):
del self.__food
print("删完了")
c=cat("拉大")
c.eat
c.eat="汉堡"
c.eat
del c.eat
c.eat
标签:def print @class 实例变量 init eating tin 实例 foo
原文地址:http://blog.51cto.com/12992048/2295233