最近在做一个题
class two:
def init(self,*n):
if len(n)!=0:
global a
a=n[0]
@classmethod
def pown(cls,*m):
if len(m)!=0:
return 2**m[0]
else:
return 2**a
print(two.pown(2)) # 输出2的n次方
print(two.pown()) # 输出2的0次方
print(two(2).pown()) # 输出2的n次方
print(two(4).pown(4)) # 输出2的m次方
class two:
a=0
def __init__(self,n):
two.a=n
@classmethod
def pown(cls,m=0):
if m:
return 2**m
else:
b = cls.a
cls.a = 0
return 2**b
最简单的办法,每次执行完pown把a清零