Yalnızca matematik tabanlı işlemler için çalışır, ancak SymPy adlı kullanıcının Lambda()
nesnesine bakabilirsiniz.Tam olarak bu amaç için tasarlanmış:
>>> pprint(l)
⎛ 2⎞
Λ⎝x, x ⎠
senin örneğini eşittir yapmak için, bize SymPy Eşitlik() nesnesi:
>>> from sympy import *
>>> x = Symbol('x')
>>> l = Lambda(x, x**2)
>>> l
Lambda(_x, _x**2)
>>> l(3)
9
Hatta oldukça yazdırmayı destekler
>>> l1 = Lambda(x, Eq(x, 2))
>>> l1
Lambda(_x, _x == 2)
>>> l1(2)
True
O kısmi bağımsız genişletmeyi destekler:
>>> y = Symbol('y')
>>> l2 = Lambda((x, y), x*y + x)
>>> l2(1)
Lambda(_y, 1 + _y)
>>> l2(1, 2)
3
Ve tabii ki, sen SymPy bilgisayar cebir tüm almanın avantajı elde edersiniz:
>>> l3 = Lambda(x, sin(x*pi/3))
>>> pprint(l3(1))
⎽⎽⎽
╲╱ 3
─────
2
arada, bu utanmaz fiş gibi geliyor eğer, bunun nedeni bu. SymPy'nin geliştiricilerinden biriyim.
Lütfen x = lambda (args) 'yerine' def x (args) 'kullanın. Bu sorunuza cevap vermiyor, ancak lütfen bunun için def 'leri kullanın. –