classmethod/staticmethod区别
1、都可以通过 class.method() 的方式使用。
2、classmethod 第一个参数是 cls,可以引用类变量。
3、staticmethod 使用起来和普通函数一样,只不过放在类里面去组织。
class Person():
country = "china"
def __init__(self, name):
self.name = name
@classmethod
def getCountry(cls):
print(cls.country)
@staticmethod
def join_name(first_name, last_name):
return first_name + last_name # last_name: 姓 first_name: 名
person = Person("XuejinCao")
person.getCountry()
name = person.join_name("Xuejin", "Cao")
print("name: {}".format(name))
# 运行结果:
china
name: XuejinCao