Bir Fonksiyon Nasıl Çağrılır? Python (Misal)
İşlev Nedir? Python?
A İşlev Python referans verildiğinde çalışan bir kod parçasıdır. Kodun bir program içerisinde birden fazla yerde kullanılması için kullanılır. Buna yöntem veya prosedür de denir. Python print(), input(), compile(), exec() vb. gibi birçok dahili fonksiyon sağlar, ancak aynı zamanda kendi fonksiyonlarınızı yaratma özgürlüğü de verir.
Bir fonksiyon nasıl tanımlanır ve çağrılır? Python
İşlev Python tarafından tanımlanır “kesinlikle” ifadenin ardından işlev adı ve parantez ( ())
Örnek:
“def func1():” komutunu kullanarak bir fonksiyon tanımlayalım ve fonksiyonu çağıralım. Fonksiyonun çıktısı şu şekilde olacaktır: "Öğreniyorum Python işlev".
Bu fonksiyon yazdırma işlevi1() def func1():'ımızı çağırır ve komutu yazdırırız " Öğreniyorum Python fonksiyon Yok."
içinde kurallar var Python Bir işlevi tanımlamak için.
- Herhangi bir bağımsız değişken veya giriş parametresi bu parantezlerin içine yerleştirilmelidir
- Fonksiyonun ilk ifadesi isteğe bağlı bir ifade-docstring veya fonksiyonun dokümantasyon dizisi olabilir.
- Her işlevin içindeki kod iki nokta üst üste (:) ile başlar ve girintili olmalıdır (boşluk)
- return (ifade) ifadesi, isteğe bağlı olarak çağırana bir değer geri göndererek bir işlevden çıkar. Bağımsız değişken içermeyen bir return ifadesi, return Yok ile aynıdır.
Girintinin (Boşluk) Önemi Python
Tanışmadan önce Python işlevlerde, beyan etmek için girinti kuralını anlamamız önemlidir. Python işlevler ve bu kurallar diğer öğeler için de geçerlidir. Python koşulları, döngüleri veya değişkenleri bildirmenin yanı sıra.
Python kodu tanımlamak için belirli bir girinti stilini takip eder, çünkü Python işlevlerin, işlevin başlangıcını ve bitişini gösteren küme parantezleri gibi açık bir başlangıcı veya sonu yoktur, bu girintiye güvenmek zorundadırlar. Burada “print” komutuyla basit bir örnek alıyoruz. Def func 1()’ın hemen altına “print” fonksiyonunu yazdığımızda: “” yazacaktır.Girinti Hatası: girintili bir blok bekleniyor".
Artık “print” fonksiyonunun önüne girinti (boşluk) eklediğinizde beklendiği gibi yazdırılmalıdır.
Kodunuzun başarılı bir şekilde çalışması için en azından bir girinti yeterlidir. Ancak en iyi uygulama olarak işlevinizi çağırmak için yaklaşık 3-4 girinti bırakmanız önerilir..
Ayrıca girintiyi bildirirken şunları yapmanız gerekir: kodunuzun geri kalanı için aynı girintiyi koruyun. Örneğin aşağıdaki ekran görüntüsünde başka bir ifadeyi “still in func1” olarak adlandırdığımızda ve ilk print ifadesinin hemen altında bildirilmediğinde girinti hatası gösterecektir. "Girintisiz, başka hiçbir girinti düzeyiyle eşleşmiyor."
Şimdi her iki ifadeye de aynı girintiyi uyguladığımızda ve bunları aynı satıra hizaladığımızda beklenen çıktıyı veriyor.
Fonksiyon Değeri Nasıl Döndürülür?
Komutu geri ver Python fonksiyonun çağıranına hangi değerin geri verileceğini belirtir. Bunu aşağıdaki örnekle anlayalım
Adım 1) İşlev hiçbir şey döndürmez
Burada fonksiyonun ne zaman “geri dönüş” olmadığını görüyoruz. Örneğin 4’ün karesini istiyoruz ve kod çalıştırıldığında “16” cevabını vermesi gerekiyor. Basitçe “print x*x” kodunu kullandığımızda bunu veriyor, ancak “print square” fonksiyonunu çağırdığınızda çıktı olarak “None” veriyor. Bunun nedeni, fonksiyonu çağırdığınızda özyinelemenin gerçekleşmemesi ve fonksiyonun sonuna düşmemesidir. Python işlevin sonunda başarısızlık durumunda "Yok" değerini döndürür.
Adım 2) Yazdırma komutunu atama komutuyla değiştirin
Bunu daha açık hale getirmek için yazdırma komutunu atama komutuyla değiştiriyoruz. Çıktıyı kontrol edelim.
“Kareye yazdır (4)” komutunu çalıştırdığınızda aslında nesnenin değerini döndürüyor çünkü burada çalıştıracağımız özel bir fonksiyonumuz yok, “Yok” değerini döndürüyor.
Adım 3) 'Return' işlevini kullanın ve kodu yürütün
Şimdi burada “return” komutunu kullanarak çıktının nasıl alınacağını göreceğiz. “Return” fonksiyonunu kullanıp kodu çalıştırdığınızda “16” çıktısını verecektir.
Adım 4) 'Kareye yazdır' komutunu çalıştırın
İçindeki işlevler Python kendileri bir nesnedir ve bir nesnenin bir değeri vardır. Burada nasıl olduğunu göreceğiz Python bir nesneyi ele alır. “Kareye yazdır” komutunu çalıştırdığınızda nesnenin değerini döndürür. Herhangi bir argüman iletmediğimiz için burada çalıştıracağımız özel bir fonksiyonumuz yok, nesnenin konumu olan varsayılan değeri (0x021B2D30) döndürür. pratikte Python muhtemelen bunu hiçbir zaman yapmanıza gerek kalmayacaktır.
Fonksiyonlardaki Argümanlar
Argüman, çağrıldığında işleve aktarılan bir değerdir.
Başka bir deyişle çağıran tarafta bir argüman, fonksiyon tarafında ise bir parametredir.
Bakalım nasıl Python Args işe yarıyor –
) 1 Adım Argümanlar fonksiyon tanımında bildirilir. Fonksiyonu çağırırken, bu argümanların değerlerini aşağıda gösterildiği gibi iletebilirsiniz.
) 2 Adım Bir argümanın varsayılan değerini bildirmek için ona fonksiyon tanımında bir değer atayın.
Örnek: x'in varsayılan değeri yoktur. Y=0'ın varsayılan değerleri. Çarpma fonksiyonunu çağırırken yalnızca bir argüman sağladığımızda, Python y=0 değerini korurken sağlanan değeri x'e atar. Dolayısıyla x*y=0'ın çarpımı
) 3 Adım Bu kez varsayılan değer olan y=2 yerine değeri y=0 olarak değiştireceğiz ve çıktıyı (4×2)=8 olarak döndüreceğiz.
) 4 Adım Ayrıca bağımsız değişkenlerin iletilebileceği sırayı da değiştirebilirsiniz. PythonBurada x ve y değerlerinin sırasını x=4 ve y=2 olarak değiştirdik.
) 5 Adım Birden fazla Argüman bir dizi olarak da iletilebilir. Buradaki örnekte (*args) fonksiyonunu çağırarak çoklu argümanları (1,2,3,4,5) çağırıyoruz.
Örnek: (*args) fonksiyonunu çağırdığımızda birden fazla argümanı (1,2,3,4,5) sayısı olarak bildirdik; çıktıyı (1,2,3,4,5) olarak yazdırır
İpuçları:
- In Python 2.7 fonksiyon aşırı yüklemesi desteklenmiyor Python. İşlev Aşırı Yüklemesi, farklı bir uygulamayla aynı adı taşıyan birden fazla yöntem oluşturma yeteneğidir. İşlev Aşırı Yüklemesi tam olarak desteklenir Python 3
- Yöntemler ve işlevler arasında oldukça kafa karışıklığı var. Yöntemler Python işlev değilken nesne örnekleriyle ilişkilendirilir. Ne zaman Python Bir yöntemi çağırdığında, o çağrının ilk parametresini uygun nesne referansına bağlar. Basit bir deyişle, bağımsız bir işlev Python bir "işlev"dir, oysa bir sınıfın veya örneğin bir niteliği olan işlev bir "yöntemdir".
İşte tam Python 3 kod
#define a function def func1(): print ("I am learning Python function") print ("still in func1") func1() def square(x): return x*x print(square(4)) def multiply(x,y=0): print("value of x=",x) print("value of y=",y) return x*y print(multiply(y=2,x=4))
İşte tam Python 2 kod
#define a function def func1(): print " I am learning Python function" print " still in func1" func1() def square(x): return x*x print square(4) def multiply(x,y=0): print"value of x=",x print"value of y=",y return x*y print multiply(y=2,x=4)
ÖZET
İşlev Python tek, ilgili eylemi gerçekleştirmek için kullanılan yeniden kullanılabilir bir kod parçasıdır. Bu yazıda göreceğiz
- Tarafından tanımlanan fonksiyon def ifade
- Her fonksiyonun içindeki kod bloğu iki nokta üst üste (:) ile başlar ve girintili olmalıdır (boşluk)
- Herhangi bir argüman veya giriş parametresi bu parantezlerin vb. içine yerleştirilmelidir.
- Fonksiyon bildirildikten sonra kodun önünde en az bir girinti bırakılmalıdır.
- Def işlevi içindeki kod boyunca aynı girinti stili korunmalıdır
- En iyi uygulamalar için, ifadeden önce en iyi üç veya dört girinti kabul edilir
- Değerleri işlev çağrısına döndürmek için “return” komutunu kullanabilirsiniz.
- Python argüman çağıran fonksiyona sağlanmadığında (0x021B2D30) gibi rastgele bir değer yazdıracaktır. Örnek "yazdırma işlevi."
- Çağıran tarafta bu bir argümandır ve işlev tarafında bir parametredir
- Bağımsız değişkendeki varsayılan değer – Çarpma işlevini veya başka bir işlevi çağırırken yalnızca bir bağımsız değişken sağladığımızda, Python diğer argümanı varsayılan olarak atar
- Python argümanın sırasını tersine çevirmenize de olanak tanır