目录
一、Class对象
1、基本介绍
2)类本身也是对象,即:Class对象
2、应用实例
class Monster:
name="蝎子精"
age=300
def 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、基本介绍
2)@staticmethod将方法转换为静态方法
3)静态方法不会接收隐式的第一个参数
4)要声明一个静态方法,语法:
class C:
@staticmethod
def f(arg1,arg2,....):
........
5)静态方法既可以由类调用(如 C.f()),也可以由实例调用(如 C().f())
2、应用实例
class Monster:
name="蝎子精"
age=300
def hi(self):
print(f"hi() {self.name}-{self.age}")
@staticmethod
def ok():
print("ok()...")
# 不需要实例化,通过类即可调用静态方法
Monster.ok()
# 通过实例对象,也可以调用静态方法
monster=Monster()
monster.ok()