python @staticmethod @classmethod探寻

python @staticmethod @classmethod探寻,第1张

class research_static_method:
    Name = 'handsome boy'
    Age = '17'
    def __init__(self,address):
        self.address = address
    def print_address(self):
        print('地址',self.address)
        
    @classmethod
    def print_Name(cls):
        print('类属性-Name',cls.Name)
    
    @staticmethod
    def print_Age_and_address():
        print('静态方法——类和它的实例都可以调用')
        print(Name+address)   # 这句代码会报错,因为你使用类属性得要传类这个对象(使用参数cls),使用实例的属性,得要传实例对象(使用self),如print_Age_and_address_2(cls,self)这样定义
    @staticmethod
    def print_Age_and_address_2(cls,self):
        print('静态方法——类和它的实例都可以调用')
        print(cls.Name+self.address)
       
print(research_static_method.Name)   # 1.直接使用 类.属性

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/738599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存