Python hiç bilmiyorum ama chatgpt den biraz yardım aldım bişeyler öğrendim )


Bu kod parçası, Python dilinde bir matematik işlevini oluşturmak için lambda ifadesinin nasıl kullanılacağını göstermektedir. İşte kodun adım adım açıklaması:
  1. math adında bir fonksiyon tanımlanıyor. Bu fonksiyon, bir argüman (a) alacak ve a üzerinde işlem yapacak olan bir lambda işlevini döndürecek.
  2. Lambda ifadesi, gelen a argümanını n parametresinin üzerine yükseltir (a^n). Ancak n değişkeni tanımlanmadığından, bu kod hata verecektir. n değişkeninin ne olduğunu belirtmek için, kodu düzenlememiz gerekecek.
  3. square adında bir değişken tanımlanıyor ve math(2) ifadesi kullanılarak oluşturulan lambda işlevini alıyor. Bu, 2. kuvvetini hesaplayacak bir işlevi square değişkenine atar.
  4. cube adında bir değişken tanımlanıyor ve math(3) ifadesi kullanılarak oluşturulan lambda işlevini alıyor. Bu, 3. kuvvetini hesaplayacak bir işlevi cube değişkenine atar.
  5. square(3) ifadesi, square değişkenine atanan lambda işlevini çalıştırır ve 3 sayısının karesini hesaplar. Sonuç olarak, 3^2 = 9 elde edilir ve bu değer print ifadesiyle ekrana yazdırılır.
  6. cube(3) ifadesi, cube değişkenine atanan lambda işlevini çalıştırır ve 3 sayısının küpünü hesaplar. Sonuç olarak, 3^3 = 27 elde edilir ve bu değer print ifadesiyle ekrana yazdırılır.
Sonuç olarak, kod 3 sayısının karesini ve küpünü hesaplar ve bu değerleri ekrana yazdırır. Ancak, n değişkeni tanımlanmadığı için hata verecektir. Kodu düzeltmek için math fonksiyonunun n parametresini alması ve lambda ifadesinin n üzerine yükseltme işlemini gerçekleştirmesi gerekmektedir. Örneğin:

Alıntı
def math ( n ) : return lambda a: a ** n square = math(2) cube = math(3) print(square(3)) # 9 print(cube(3)) # 27