代码拉取完成,页面将自动刷新
class Person(object):
# 属性默认为类属性(可以给直接被类本身调用)
eyes_num = 2
belong_type = '哺乳纲灵长目'
# 实例化方法(必须实例化类之后才能被调用,用法是 object.func1())
def func1(self): # self : 表示实例化类后的地址id
print('in func1, self is:', self)
# 类方法(不需要实例化类就可以被类本身调用)
@classmethod
def func2(cls): # cls : 表示类本身,相当于java的Class类对象clazz
print("in func2 cls is:", cls)
print("in func2 cls.eyes_num is:", cls.eyes_num)
new_obj = cls()
print('in func2, new cls() is:', new_obj)
new_obj.func1()
# 静态方法
@staticmethod
def func3():
print("in func3, belong_type is:", Person.belong_type)
# 静态方法
@staticmethod
def func4(cls):
print("in func4, cls is:", cls)
# Person.func1() # 实例方法不能用Class.func(),那样会报错。
print(Person.func2()) # 类方法用 Class.func()调用
print('*' * 100)
print(Person.func3()) # 静态方法可以用 Class.func()调用
print('*' * 100)
person = Person()
print(person.func1()) # 实例方法调用
print(person.func3()) # 静态方法也可以用 object.func()来调用
print('*' * 100)
# print(Person.func4()) # 不传参数会报错。
print(Person.func4(Person)) # 静态方法带参数时,要把Class当参数传入,否则报错。
print('*' * 100)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。