江湖散人 发表于 2021-4-25 16:18:48

静态方法和类方法的使用方式

class Student:
    native_place='吉林'
    def __init__(self,name,age):
      self.name=name
      self.age=age

    @staticmethod
    def method():
      print('我使用了staticmethod进行了修饰,所以我是静态方法')
   
    @classmethod
    def cm(cls):
      print('我使用了classmethod进行了修饰,所以我是类方法')




stu1=Student('张三',20)
print('-------------------类方法的使用方式----------------------')
Student.cm()
stu1.cm()


print('--------------------静态方法的使用方式----------------------')
Student.method()
stu1.method()


-------------------类方法的使用方式----------------------
我使用了classmethod进行了修饰,所以我是类方法
我使用了classmethod进行了修饰,所以我是类方法
--------------------静态方法的使用方式----------------------
我使用了staticmethod进行了修饰,所以我是静态方法
我使用了staticmethod进行了修饰,所以我是静态方法




这里的静态方法和类方法的使用,视频里的老师讲是用类名.方法名
也就是只有Student.cm() 和Student.method()
但是我试了一下, 用类的实例对象名.类名 也可以执行
这样的结果是巧合吗?还是这种使用方法本身就是正确的?

肖-肖 发表于 2021-4-25 16:26:57

本身是正确的

kogawananari 发表于 2021-4-25 16:36:11

dict.fromkeys 方法就是最典型的例子了

江湖散人 发表于 2021-4-26 08:42:41

肖-肖 发表于 2021-4-25 16:26
本身是正确的

谢谢啊
页: [1]
查看完整版本: 静态方法和类方法的使用方式