همون طور ک میبینید توی کد بالا دوتا تابع
myFunc0, myFunc1دقیقا یک کار رو انجام میدن
check here for more info about locals حالا سوال اینجاست ک کدوم یکی از این توابع بهینه تره؟
کد بالا رو هم اینجا براتون میزارم اگه میخواید اجراکنید:
from random import random
def method1(x):
return x ** 2
def method2(x):
return sum(1 / i for i in range(1, x))
def method3(x):
return max(random() for i in range(2 ** x))
def myFunc0(x, methodNum):
assert methodNum in [1, 2, 3]
return [method1(x), method2(x), method3(x)][methodNum - 1]
def myFunc1(x, methodNum):
assert methodNum in [1, 2, 3]
return globals()[f'method{methodNum}'](x)