Python'da İşlev nedir?
Bir Python Fonksiyon Başvurulduğunda çalıştığı bir kod parçasıdır. Kodu bir programda birden fazla yerde kullanmak için kullanılır. Yöntem veya prosedür olarak da adlandırılır. Python, print (), input (), compile (), exec (), vb. Gibi birçok dahili işlev sağlar, ancak aynı zamanda kendi işlevlerinizi oluşturma özgürlüğü verir.
Bu eğitimde öğreneceğiz
- Python'da bir işlev nasıl tanımlanır ve çağrılır
- Python'da Girintinin (Boşluk) Önemi
- İşlev Dönüş Değeri Nasıl?
- İşlevlerdeki Bağımsız Değişkenler
Python'da bir işlev nasıl tanımlanır ve çağrılır
Python'daki işlev, "def" ifadesi ve ardından işlev adı ve parantezler (()) ile tanımlanır.
Misal:
"Def func1 (): komutunu kullanarak bir işlevi tanımlayalım ve işlevi çağıralım. İşlevin çıktısı "Python işlevini öğreniyorum" olacaktır.
Fonksiyon baskı fonk1 () bizim def FUNC1 () çağırır: ve komut yazdırmak " Ben Python fonksiyonu Hiçbiri öğreniyorum. "
Python'da bir işlevi tanımlamak için bir dizi kural vardır.
- Herhangi bir bağımsız değişken veya girdi parametresi bu parantez içine yerleştirilmelidir
- İşlev ilk deyimi isteğe bağlı bir deyim-docstring veya işlevin belgelendirme dizesi olabilir
- Her işlevin içindeki kod iki nokta üst üste (:) ile başlar ve girintili (boşluk) olmalıdır.
- Return (ifade) ifadesi, isteğe bağlı olarak çağırıcıya bir değer geri göndererek bir işlevden çıkar. Değiştirgesiz bir return ifadesi, return None ile aynıdır.
Python'da Girintinin (Boşluk) Önemi
Python işlevlerine alışmadan önce, Python işlevlerini bildirmek için girinti kuralını anlamamız önemlidir ve bu kurallar, koşulları, döngüleri veya değişkenleri bildirmek gibi Python'un diğer öğelerine de uygulanabilir.
Python, kodu tanımlamak için belirli bir girinti stili izler, çünkü Python işlevleri , işlevin başlangıcını ve bitişini belirtmek için kaşlı ayraçlar gibi açık bir başlangıç veya bitişe sahip olmadığından, bu girintiye güvenmeleri gerekir . Burada "yazdır" komutuyla basit bir örnek alıyoruz. Def func 1 () 'in hemen altına "yazdırma" fonksiyonunu yazdığımızda: " girinti hatası: girintili bir blok bekleniyor " gösterecektir .
Şimdi, "yazdır" işlevinin önüne girinti (boşluk) eklediğinizde, beklendiği gibi yazdırması gerekir.
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 , kodunuzun geri kalanı için aynı girintiyi korumanız gerekir . Örneğin, aşağıdaki ekran görüntüsünde başka bir ifadeyi "hala func1'de" olarak adlandırdığımızda ve ilk print ifadesinin hemen altında bildirilmediğinde, "girintisizleştirme başka herhangi bir girinti düzeyiyle eşleşmiyor" bir girinti hatası gösterecektir .
Şimdi, her iki deyim için aynı girintiyi uyguladığımızda ve bunları aynı satıra hizaladığımızda, beklenen çıktıyı veriyor.
İşlev Dönüş Değeri Nasıl?
Python'da Return komutu, işlevi arayan kişiye hangi değerin geri verileceğini belirtir.
Bunu aşağıdaki örnekle anlayalım
Adım 1) Burada - fonksiyonun ne zaman "dönüş" olmadığını görüyoruz. Örneğin, 4'ün karesini istiyoruz ve kod çalıştırıldığında "16" cevabını vermelidir. Bu, basitçe "x * x yazdır" kodunu kullandığımızda verir, ancak "kare yazdır" işlevini çağırdığınızda, çıktı olarak "Yok" u verir. Bunun nedeni, işlevi çağırdığınızda, özyinelemenin gerçekleşmemesi ve işlevin sonundan düşmesidir. Python, işlevin sonunda başarısız olursa "Yok" döndürür.
Adım 2) Bunu daha net hale getirmek için yazdırma komutunu atama komutuyla değiştiriyoruz. Çıkışı kontrol edelim.
"Kareyi yazdır (4)" komutunu çalıştırdığınızda, burada çalışacak belirli bir fonksiyonumuz olmadığından, aslında nesnenin değerini döndürür, "Hiçbiri" döndürür.
Adım 3) Şimdi, burada "return" komutunu kullanarak çıktının nasıl alınacağını göreceğiz. "Return" işlevini kullandığınızda ve kodu çalıştırdığınızda, "16" çıktısını verecektir.
Adım 4) Python'daki işlevlerin kendileri bir nesnedir ve bir nesnenin bir değeri vardır. Burada Python'un bir nesneye nasıl davrandığını göreceğiz. "Kare 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ışacak belirli bir fonksiyonumuz yok, nesnenin konumu olan varsayılan bir değer (0x021B2D30) döndürür. Pratik Python programında, muhtemelen bunu yapmanıza hiç gerek kalmayacak.
İşlevlerdeki Bağımsız Değişkenler
Argüman, çağrıldığında işleve iletilen bir değerdir.
Başka bir deyişle, çağıran tarafta bir argüman ve fonksiyon tarafında bir parametredir.
Python Args'ın nasıl çalıştığını görelim -
Adım 1) Bağımsız değişkenler, işlev tanımında bildirilir. Fonksiyonu çağırırken, o bağımsız değişkenlerin değerlerini aşağıda gösterildiği gibi iletebilirsiniz.
Adım 2) Bir bağımsız değişkenin varsayılan değerini bildirmek için, ona işlev tanımında bir değer atayın.
Örnek: x'in varsayılan değerleri yoktur. Y = 0 varsayılan değerleri. Çarpma işlevini çağırırken yalnızca bir argüman sağladığımızda, Python sağlanan değeri x'e atarken y = 0 değerini korur. Dolayısıyla x * y = 0'ın çarpımı
Adım 3) Bu sefer değeri varsayılan y = 0 yerine y = 2 olarak değiştireceğiz ve çıktıyı (4x2) = 8 olarak döndürecektir.
Adım 4) Argümanların Python'da geçirilebileceği sırayı da değiştirebilirsiniz. Burada x ve y değerinin sırasını x = 4 ve y = 2 olarak değiştirdik.
Adım 5) Çoklu Argümanlar bir dizi olarak da iletilebilir. Burada örnekte, (* args) işlevini çağırarak çoklu bağımsız değişkenleri (1,2,3,4,5) çağırıyoruz.
Örnek: (* args) fonksiyonunu çağırdığımızda çoklu argümanları sayı (1,2,3,4,5) olarak tanımladık; çıktıyı (1,2,3,4,5) olarak yazdırır
İpuçları :
- Python 2.7'de. Python'da işlev aşırı yükleme desteklenmez. İşlev Aşırı Yüklemesi, farklı bir uygulama ile aynı adda birden fazla yöntem oluşturma yeteneğidir. İşlev Aşırı Yüklemesi, Python 3'te tamamen desteklenir
- Yöntemler ve işlevler arasında oldukça karışık bir durum var. Python'daki yöntemler nesne örnekleriyle ilişkilendirilirken, işlev değildir. Python bir yöntemi çağırdığında, bu çağrının ilk parametresini uygun nesne referansına bağlar. Basit bir deyişle, Python'daki bağımsız bir işlev bir "işlev" iken, bir sınıfın veya bir örneğin özniteliği olan bir işlev bir "yöntem" dir.
İşte eksiksiz Python 3 kodu
#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))
İşte eksiksiz Python 2 kodu
#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)
Özet:
Python'daki işlev, ilgili tek eylemi gerçekleştirmek için kullanılan yeniden kullanılabilir bir kod parçasıdır. Bu yazıda göreceğiz
- Def ifadesiyle tanımlanan işlev
- Her işlevin içindeki kod bloğu iki nokta üst üste (:) ile başlar ve girintili (boşluk) olmalıdır.
- Herhangi bir argüman veya girdi parametresi bu parantezlerin içine vb. Yerleştirilmelidir.
- İşlev bildirildikten sonra koddan önce 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
- İşlev çağrısına değer döndürmek için "return" komutunu kullanabilirsiniz.
- Python, çağıran işleve argüman sağlanmadığında (0x021B2D30) gibi rastgele bir değer basacaktır. Örnek "yazdırma işlevi."
- Çağıran tarafta, bu bir argümandır ve fonksiyon 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 varsayılan olarak diğer bağımsız değişkeni atar
- Python, argümanın sırasını da tersine çevirmenizi sağlar