Python'da yeniyim, bu çok kolay gelebilir! Ben aşağıda bir işlevi olduğunu varsayalım:Python'da ikameler nasıl yapılır?
def f(x,y):
return x**2 + 3*y
sonra Python yapmalı nasıl (p**2+2)
ile x
yerine istiyorsun ?!
Python'da yeniyim, bu çok kolay gelebilir! Ben aşağıda bir işlevi olduğunu varsayalım:Python'da ikameler nasıl yapılır?
def f(x,y):
return x**2 + 3*y
sonra Python yapmalı nasıl (p**2+2)
ile x
yerine istiyorsun ?!
Sadece işlevinizep**2 + 2
kodunu iletin.
f(p**2 + 2, y)
Bu
x = p**2 + 2
ile
f(x,y)
değerlendirecek ve bitirdiniz: Buna benzer işlevi çağırın.
Sahip olduğunuz geçerli kodu yeniden yazmadan, salt Python'da bildiğim formül değiştirmeyi doğrudan yapmanın bir yolu yoktur.
Eğer sembolik manipülasyon yapmak isteyen iseniz, SymPy
bakmak:
from sympy import *
x, y, p = symbols("x y p")
expression = x**2 + 3*y
expression.subs(x, p**2 + 2) # prints out substituted equation
Bir dekoratör ile yapabilirsiniz; ilginizi çekebilir ya da olmayabilir. Kodu değiştirmeden f(x, y)
davranışını değiştirmenize izin verir.
def change_x(func):
def intern(x, y):
return func(x**2+2, y)
return intern
@change_x
def f(x, y):
return x**2 + 3*y
Şimdi f(x, y)
döner sen f(x, y)
ile diyoruz f(x**2 + 2, y)
Bu dekoratörler neler yapabileceğini öğrenme dışında muhtemelen az ilgi vardır bir yapmacık örnek biraz; Bu durumda kullanmayı önermem.
'p' nedir (p ** 2 + 2)'? –