函数语法
staticmethod(function)

静态函数声明格式:

class C(object):
    @staticmethod
    def f(arg1, arg2, ...):

以上实例声明了静态方法 f,从而可以实现实例化使用 C().f(),当然也可以不实例化调用该方法 C.f()。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class C(object):
    @staticmethod
    def f():
        print('runoob');
 
C.f();          # 静态方法无需实例化
cobj = C()
cobj.f()        # 也可以实例化后调用
class Sp(object):
	num_i=0
	
	@staticmethod
	def ct():
		Sp.num_i+=1
		
		
	def __init__(self):
		self.ct()
		
class Op(Sp):
	num_i=0
	
class Ap(Op):
	num_i=0
	
x=Sp()
y1,y2=Op(),Op()
z1,z2,z3=Ap(),Ap(),Ap()
print(x.num_i,y1.num_i,z1.num_i) // 6 0 0
print(Sp.num_i,Op.num_i,Ap.num_i)// 6 0 0
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐