Bir Fonksiyon Nasıl Çağrılır? Python (Misal)

⚡ Akıllı Özet

İçindeki işlevler Python Fonksiyonlar, `def` ifadesiyle tanımlanan ve çağrıldıklarında çalışan, yeniden kullanılabilir kod bloklarıdır. Argüman alırlar, değer döndürürler ve her fonksiyona ait ifadeleri gruplandırmak için tutarlı girintiye dayanırlar.

  • 🧩 tanım ifadesi: Bir fonksiyon, `def` komutu, bir isim ve parantezler ile tanımlanır; ardından girintili ifade bloğunu açan iki nokta üst üste gelir.
  • 📞 Çağrı fonksiyonları: Fonksiyon adını parantez içinde yazmak, ilgili kodu çalıştırır; bu sayede aynı mantık birçok kez tekrar kullanılabilir.
  • ⌨️ Girinti: Python Fonksiyon gövdesini parantezler yerine tutarlı girinti kullanarak gruplandırır, bu nedenle eksik bir boşluk IndentationError hatasına neden olur.
  • 🎯 argümanlar: Parantez içindeki değerler parametre haline gelir ve varsayılan değerler veya anahtar kelime argümanları her çağrıyı esnek hale getirir.
  • ↩️ Dönüş değerleri: `return` ifadesi çağırana bir sonuç döndürür; bu ifade olmadan fonksiyon `None` döndürür.
  • 🤖 Yapay zeka yardımı: GitHub Copilot gibi yapay zeka asistanları, kısa bir komut isteminden fonksiyon iskeletleri, argümanlar ve doküman metinleri oluşturur.

Bir Fonksiyon Nasıl Çağrılır? Python

İşlev Nedir? Python?

A İşlev Python Bir kod parçasına, kendisine referans verildiğinde çalışır. Programda birden fazla yerde kodun kullanılmasını sağlar. Buna ayrıca metot veya prosedür de denir. Python print(), input(), compile() ve exec() gibi birçok yerleşik fonksiyon sunar, ancak aynı zamanda kendi fonksiyonlarınızı oluşturma özgürlüğünü de verir.

Bir fonksiyon nasıl tanımlanır ve çağrılır? Python

Bir fonksiyon Python “def” ifadesiyle, ardından fonksiyon adı ve parantezler ( () ) ile tanımlanır.

Örnek:

“def func1():” komutunu kullanarak bir fonksiyon tanımlayalım ve bu fonksiyonu çağıralım. Fonksiyonun çıktısı “Öğreniyorum” olacaktır. Python işlev".

Bir Fonksiyonu Tanımlayın ve Çağırın Python

`func1()` fonksiyon çağrısı, `def func1()` fonksiyonumuzu çağırır ve "Öğreniyorum" komutunu yazdırır. Python İşlev Yok."

Burada bir dizi kural bulunmaktadır. Python programlama Bir işlevi tanımlamak için.

  • Herhangi bir argüman veya giriş parametresi bu parantezlerin içine yerleştirilmelidir.
  • Fonksiyonun ilk ifadesi isteğe bağlı bir ifade olabilir; bu, fonksiyonun dokümantasyon dizesi veya belge dizesidir.
  • Her fonksiyonun içindeki kod, iki nokta üst üste (:) ile başlamalı ve girintili (boşluk) olmalıdır.
  • `return (expression)` ifadesi, isteğe bağlı olarak çağırana bir değer döndürerek bir fonksiyondan çıkar. Argüman içermeyen bir `return` ifadesi, `return None` ile aynıdır.

Girintinin (Boşluk) Önemi Python

Öncelikle şunlarla tanışalım: Python işlevlerde, beyan etmek için girinti kuralını anlamamız önemlidir. Python işlevler ve bu kurallar diğer unsurlara da uygulanabilir. Python Ayrıca, koşullar, döngüler veya değişkenler tanımlamak gibi işlemler de yapılabilir.

Python Kodun tanımlanmasında belirli bir girinti stili izler. Çünkü Python Fonksiyonların, fonksiyonun başlangıcını ve bitişini belirtmek için süslü parantezler gibi açık bir başlangıç ​​veya bitiş ifadesi yoktur; bu nedenle girintiye güvenmek zorundadırlar. Burada "print" komutuyla basit bir örnek verelim. "print" fonksiyonunu def func1(): satırının hemen altına yazdığımızda, "girinti hatası: girintili bir blok bekleniyor" şeklinde bir hata mesajı gösterecektir.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Şimdi, "print" fonksiyonunun önüne girinti (boşluk) eklediğinizde, beklendiği gibi yazdırılacaktır.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Kodunuzun başarılı bir şekilde çalışması için en az bir girinti yeterlidir. Ancak en iyi uygulama olarak, fonksiyonunuzu çağırmak için yaklaşık 3-4 boşlukluk girinti bırakmanız önerilir.

Girintiyi belirtirken, kodunuzun geri kalanında da aynı girintiyi korumanız gereklidir. Örneğin, aşağıdaki ekran görüntüsünde, "still in func1" ifadesini çağırdığımızda ve bu ifade ilk print ifadesinin hemen altında belirtilmediğinde, "girintiyi kaldırma, diğer girinti seviyelerinden hiçbiriyle eşleşmiyor" şeklinde bir girinti hatası gösterecektir.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Şimdi, her iki ifadeye de aynı girintiyi uygulayıp aynı satıra hizaladığımızda, beklenen sonucu elde ediyoruz.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Fonksiyon Değeri Nasıl Döndürülür?

return komutu Python Bu, fonksiyonu çağırana hangi değerin geri döndürüleceğini belirtir. Bunu aşağıdaki örnekle anlayalım.

Adım 1) İşlev hiçbir şey döndürmez

Burada bir fonksiyonun "geri dönüş" yapmadığı durumu görüyoruz. Örneğin, 4'ün karesini istiyoruz ve kod çalıştırıldığında "16" cevabını vermesi gerekiyor. Sadece "print x*x" kodunu kullandığımızda bu sonucu veriyor, ancak "print square" fonksiyonunu çağırdığımızda çıktı olarak "None" veriyor. Bunun nedeni, fonksiyon çağrıldığında özyinelemenin gerçekleşmemesi ve fonksiyonun sonundan dışarı atılmasıdır. Python Fonksiyonun sonuna ulaşılamaması durumunda "None" değerini döndürür.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Adım 2) Yazdırma komutunu bir atama komutuyla değiştirin.

Bunu daha net hale getirmek için, yazdırma komutunu bir atama komutuyla değiştiriyoruz. Çıktıyı kontrol edelim.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

“print square (4)” komutunu çalıştırdığınızda, aslında nesnenin değerini döndürür. Burada çalıştırılacak özel bir fonksiyonumuz olmadığı için “None” değerini döndürür.

Adım 3) 'return' fonksiyonunu kullanın ve kodu çalıştırın.

Şimdi burada "return" komutunu kullanarak çıktıyı nasıl alacağımızı göreceğiz. "return" fonksiyonunu kullandığınızda ve kodu çalıştırdığınızda, "16" çıktısını verecektir.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

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 Bu komut bir nesneyi işler. "print square" komutunu çalıştırdığınızda, nesnenin değerini döndürür. Herhangi bir argüman geçirmediğimiz için burada çalıştırılacak özel bir fonksiyonumuz yok, bu nedenle nesnenin konumu olan varsayılan bir değer (0x021B2D30) döndürür. Pratikte Python Bu programı kullanırsanız, muhtemelen bunu yapmanıza hiç gerek kalmayacak.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Fonksiyonlardaki Argümanlar

Argüman, bir fonksiyon çağrıldığında ona iletilen değerdir.

Başka bir deyişle, çağıran tarafta bir argüman, fonksiyon tarafında ise bir parametredir.

Bakalım nasıl Python Tartışmalar işe yarıyor.

) 1 Adım Fonksiyon tanımında argümanlar belirtilir. Fonksiyonu çağırırken, aşağıda gösterildiği gibi bu argümanlar için değerler geçirebilirsiniz.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

) 2 Adım Bir argüman için varsayılan bir değer bildirmek için, fonksiyon tanımında ona bir değer atayın.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

Örnek: x'in varsayılan değeri yoktur. y'nin varsayılan değeri 0'dır. Çarpma fonksiyonunu çağırırken yalnızca bir argüman verdiğimizde, Python Verilen değeri x'e atar, kee koşulu sağlanır.ping y=0 değeri. Dolayısıyla x*y çarpımı da 0'dır.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

) 3 Adım Bu sefer varsayılan değer olan y=0 yerine y=2 değerini kullanacağız ve sonuç olarak (4×2)=8 elde edeceğiz.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

) 4 Adım Argümanların geçirilme sırasını da değiştirebilirsiniz. PythonBurada x ve y değerlerinin sırasını tersine çevirerek x=4 ve y=2 yaptık.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

) 5 Adım Birden fazla argüman, dizi olarak da iletilebilir. Burada örnekte, (*args) fonksiyonunu çağırarak birden fazla argümanı (1,2,3,4,5) iletiyoruz.

Örnek: Birden fazla argümanı (1, 2, 3, 4, 5) sayıları olarak tanımladık; (*args) fonksiyonunu çağırdığımızda, çıktı olarak (1, 2, 3, 4, 5) yazdırılır.

Bir Fonksiyonu Tanımlayın ve Çağırın Python

İpuçları:

  • In Python 2.7 sürümünde fonksiyon aşırı yüklemesi desteklenmiyor. Fonksiyon aşırı yüklemesi, farklı uygulamalara sahip aynı ada sahip birden fazla metot oluşturma yeteneğidir. Fonksiyon aşırı yüklemesi, 2.7 sürümünde tam olarak desteklenmektedir. Python 3.
  • Metotlar ve fonksiyonlar arasında oldukça fazla bir karışıklık var. Metotlar... Python Fonksiyonlar nesne örnekleriyle ilişkilendirilirken, fonksiyonlar ilişkilendirilmez. 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)

SSS

Evet. Bir Python Fonksiyon, `return` anahtar kelimesinden sonra virgülle ayırarak birden fazla değer döndürebilir. Python Bunları bir demet halinde paketler ve çağıran kişi bunu ayrı değişkenlere açabilir, örneğin a, b = func().

*args, ek konumlu argümanları bir demet halinde toplarken, **kwargs ek anahtar kelime argümanlarını bir sözlük halinde toplar. Her ikisi de bir fonksiyonun değişken sayıda girdi kabul etmesine olanak tanır ve args ve kwargs isimleri yalnızca bir kuraldır, zorunluluk değildir.

Docstring, bir fonksiyonun ne yaptığını belgelemek için fonksiyonun içine ilk ifade olarak yerleştirilen bir metin dizesidir. Üçlü tırnak içinde yazılır ve çalışma zamanında fonksiyonun __doc__ özniteliği veya help() fonksiyonu aracılığıyla okunabilir.

Lambda, `def` yerine `lambda` anahtar kelimesi kullanılarak tek satırda tanımlanan küçük, anonim bir fonksiyondur. `map()`, `filter()` ve `sorted()` gibi fonksiyonlara aktarılan kısa, geçici mantık için uygundur. Bkz. bu lambda işlevi Kılavuz.

Evet. Kendini çağıran bir fonksiyon özyinelemeli bir fonksiyondur. Özyineleme, faktöriyel gibi daha küçük, benzer alt problemlere ayrılan problemleri çözer. Her özyinelemeli fonksiyonun, çağrıları durduran bir temel duruma ihtiyacı vardır, aksi takdirde çağrılar durdurulur. Python RecursionError hatası verir.

Yerel değişken, bir fonksiyonun içinde oluşturulur ve yalnızca o fonksiyon çalışırken var olur. Küresel değişken ise tüm fonksiyonların dışında tanımlanır ve her yerde görünür. Bir fonksiyonun içindeki küresel bir değişkeni değiştirmek için, önce `global` anahtar kelimesiyle tanımlanması gerekir.

GitHub Copilot, bir fonksiyonun adından veya kısa bir yorumundan parametreler, dönüş ifadeleri ve doküman metinleri de dahil olmak üzere tam bir fonksiyon gövdesi önerir. Ayrıca uç durumların ele alınmasını ve testler önerir, böylece kod yazmak yerine mantığa odaklanabilirsiniz.ping şablon tanımlama blokları.

Fonksiyonlar, yapay zeka ve makine öğrenimi kodunu veri yükleme, ön işleme, eğitim ve değerlendirme gibi yeniden kullanılabilir adımlar halinde düzenler. Deneyleri okunabilir ve test edilebilir hale getirirler ve TensorFlow ve scikit-learn gibi çerçeveler, davranışlarının çoğunu çağırdığınız iyi adlandırılmış fonksiyonlar aracılığıyla ortaya koyar.

Bu yazıyı şu şekilde özetleyin: