class A(object): @classmethod def f(cls): print('当前类名为:{}'.format(cls.__name__)) if __name__ == '__main__': A.f()
输出结果:
当前类名为:A
4.3 @staticmethod被@staticmethod所装饰的方法为静态方法,静态方法一般使用场景就是和类相关的操作,但是又不会依赖和改变类、实例的状态,比如一些工具方法。
import time class A(object): @staticmethod def f(): time_now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) return time_now if __name__ == '__main__': print(A.f()) print(A().f())
输出:
2019-08-16 19:29:32