Python'da Fonksiyon Yazımı
Shayne Miel
Software Architect @ Duo Security





@double_args def multiply(a, b): return a * bmultiply(1, 5)
20
def multiply(a, b): return a * bdef double_args(func): return funcnew_multiply = double_args(multiply)new_multiply(1, 5)
5
multiply(1, 5)
5
def multiply(a, b): return a * bdef double_args(func):# Değiştirebileceğimiz yeni bir fonksiyon tanımlayın def wrapper(a, b):# Şimdilik, değiştirilmemiş fonksiyonu çağırın return func(a, b)# Yeni fonksiyonu döndürün return wrappernew_multiply = double_args(multiply)new_multiply(1, 5)
5
def multiply(a, b): return a * bdef double_args(func): def wrapper(a, b):# Fonksiyonu çağırın, ancak her argümanı ikiyle çarpın return func(a * 2, b * 2)return wrappernew_multiply = double_args(multiply)new_multiply(1, 5)
20
def multiply(a, b): return a * bdef double_args(func): def wrapper(a, b): return func(a * 2, b * 2) return wrappermultiply = double_args(multiply)multiply(1, 5)
20
multiply.__closure__[0].cell_contents
<function multiply at 0x7f0060c9e620>
def double_args(func): def wrapper(a, b): return func(a * 2, b * 2) return wrapperdef multiply(a, b): return a * b multiply = double_args(multiply) multiply(1, 5)
20
def double_args(func): def wrapper(a, b): return func(a * 2, b * 2) return wrapper@double_args def multiply(a, b): return a * b multiply(1, 5)
20
Python'da Fonksiyon Yazımı