Class对象和静态方法
目录
一、Class对象
1、基本介绍
2、应用实例
二、静态方法
1、基本介绍
2、应用实例
一、Class对象
1、基本介绍
1)文档:9. 类 — Python 3.12.5 文档
2)类本身也是对象,即:Class对象
2、应用实例
class Monster:name="蝎子精"age=300def hi(self):print(f"hi() {self.name}-{self.age}")# 下一个断点,可以看到Moster的情况
print(Monster)
# 通过Class对象,可以引用属性(没有创建实例对象也可以引用/访问)
print(f"Moster.name:{Monster.name} Moster.age:{Monster.age}")
# 通过类名如何调用非静态成员方法
Monster.hi(Monster)
二、静态方法
1、基本介绍
1)文档:内置函数 — Python 3.12.5 文档
2)@staticmethod将方法转换为静态方法
3)静态方法不会接收隐式的第一个参数
4)要声明一个静态方法,语法:
class C:
@staticmethod
def f(arg1,arg2,....):
........
5)静态方法既可以由类调用(如 C.f()),也可以由实例调用(如 C().f())
2、应用实例
class Monster:name="蝎子精"age=300def hi(self):print(f"hi() {self.name}-{self.age}")@staticmethoddef ok():print("ok()...")# 不需要实例化,通过类即可调用静态方法
Monster.ok()
# 通过实例对象,也可以调用静态方法
monster=Monster()
monster.ok()