python中的类方法
类方法只能访问类里面的变量,外面输入的变量无法使用。类方法只能访问类变量,不能访问实例变量。
·
类方法只能访问类变量,不能访问实例变量。类方法只能访问类里面的变量,外面输入的变量无法使用。
下面用代码简单演示一下:
1.错误示例:
# 类方法只能访问类变量,不能访问实例变量
# 错误示例:
class Person(object):
def __init__(self, name): # 构造函数,传递变量
self.name = name
@classmethod # 把work方法变为类方法
def work(self):
print("%s is working" % self.name)
d = Person("xiaoming")
d.work()
# 因为self.name这个变量是实例化这个类传进去的,类方法是不能访问实例变量的,只能访问类里面定义的变量
运行结果如下:
print("%s is working" % self.name)
AttributeError: type object 'Person' has no attribute 'name'
2.正确示例:
# 正确示例
class Person(object):
name = "杰克" # 如果方法里面没有该变量也就没有值返回给该方法的运行结果
def __init__(self, name):
self.name = name
@classmethod # 把work方法变为类方法
def work(self):
print("%s is working" % self.name)
d = Person("xiaoming") # 类方法只能访问类里面的变量,外面输入的变量无法使用
d.work()
运行结果如下:
更多推荐
已为社区贡献11条内容
所有评论(0)