爱恋不过是一场高烧,思念是紧跟着好不了的咳。
最近写代码的时候遇到了一个类方法和静态方法的问题, 但一直不知道是做什么的, 于是乎查了查, 总结一下如何使用.
示例
1 | class A(object): |
实例方法
1 | a = A() |
实例方法需要将类实例化后才能调用
1 | executing foo(<__main__.A object at 0x000002853868B860>, 1) |
类方法
1 | a = A() |
类方法可以通过 a.class_foo(1 )来调用,也可以通过 A.class_foo(2) 来直接调用类方法.
1 | executing class_foo(<class '__main__.A'>, 1) |
静态方法
1 | a = A() |
同样的,静态方法也可以通过实例或者类直接调用,这种声明方式可以简单理解为只是包裹在类中的普通方法,增加命名空间,
在继承的时候, 可以像使用普通方法一样使用静态方法
1 | executing static_foo(1) |
类变量
1 | print(A.m) |
类变量可以在不实例化的情况下调用
1 | 3 |
实例变量
1 | a = A() |
实例变量需要实例化后调用
1 | 4 |