global، شمارنده بهدرستی عمل نمیکند و ممکن است خطا یا رفتار اشتباه داشته باشد.سوال:
در این کد چه چیزی باید اصلاح شود تا شمارندهٔ فراخوانی توابع بهدرستی کار کند و
call_counts بدون خطا و به شکل صحیح بهروزرسانی شود؟call_counts = {}
def count_calls(func):
def wrapper(*args, **kwargs):
global call_counts
if func.__name__ not in call_counts:
call_counts = {}
call_counts[func.__name__] = call_counts.get(func.__name__, 0) + 1
return func(*args, **kwargs)
return wrapper
@count_calls
def slow_add(a, b):
return a + b
for _ in range(3):
slow_add(1, 2)
print(call_counts)🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
