我觉得你直接说你要做什么比较好,你写这个代码,和你的说明好晦涩。
成都创新互联公司2013年至今,先为册亨等服务建站,册亨等地企业,进行企业商务咨询服务。为册亨企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
a()在b()中使用,意思是,a函数是否被调用吗?
使用time.time来统计函数的执行时间,程序只会执行一次,存在很大的随机因素。
timtit包就可以重复执行函数多次,然后将多次执行结果取平均值。相比起来更优。
然而程序执行时间很大程度还受计算机性能的影响,衡量程序好坏更靠谱的手段是计算时间复杂度。
def around(func): @functools.wraps(func) def wrapper(*args, **kwargs): print('begin call : %s()' % func.__name__) r = func(*args, **kwargs) #在这行执行了func,如果有print等语句就打印了 print('end call :%s()' % func.__name__) ret...
Python: 测试函数是否被调用
# helper class defined elsewhere
class CallLogger(object):
def __init__(self, meth):
self.meth = meth
self.was_called = False
def __call__(self, code=None):
self.meth()
self.was_called = True
然后assert CallLogger的was_called为True就行了。但是这样的Callable不是个函数:
isinstance(object, types.FunctionType) # Callable will be False
对于这种Callable获取参数个数需要用:
inspect.getargspec(fn.__call__)
arg1是位置参数,调用时必须传入数值(排除:B),位置参数传入时顺序要正确,且不能放在关键字参数的后面(排除:D),余:AC