加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
useful_class.py 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
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)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化