P133 Class对象和静态方法
1. Class对象
1.1 基本介绍
1) 文档: https://docs.python.org/zh-cn/3.12/tutorial/classes.html#class-objects
2) 类本身也是对象,即class对象
1.2 应用实例
class Monster:
name = "蝎子精"
age = 300
def hi(self):
print(f'hi(){
self.name}-{
self.age}')
print(Monster)
print(f"Monster.name:{
Monster.name} Monster.age:{
Monster.age}")
Monster.hi(Monster)
print("*" * 32)
2. 静态方法
2.1 基本介绍
1) 文档: https://docs.python.org/zh-cn/3.12/library/functions.html#staticmethod
2) @staticmethod 将方法转换为静态方法
3) 静态方法不回接受隐式的第一个参数,要声明一个静态方法,语法:
class C:
@staticmethod
def f(arg1,arg2,argN): ...
4) 静态方法既可以由类调用(如C.f()),也可以由实例中调用(如C().f())
2.2 应用介绍
class Monster:
name ="揭子精"
age = 300
def hi(self):
print(f'hi() {
self.name}-{
self.age}')
@staticmethod
def ok():