Python’da Fonksiyonlar
Bu makalede, işlevler, işlevin ne olduğu, sözdizimi, bileşenler ve işlev türleri hakkında bilgi edineceksiniz. Ayrıca Python’da bir fonksiyon yaratmayı öğreneceksiniz.
Python’da bir fonksiyon nedir?
Python’da işlev, belirli bir görevi yerine getiren ilgili ifadeler grubudur.
Fonksiyonlar, programımızı daha küçük ve modüler parçalara ayırmaya yardımcı olur. Programımız büyüdükçe ve büyüdükçe, işlevler onu daha düzenli ve yönetilebilir hale getirir.
Ayrıca, tekrarı önler ve kodu yeniden kullanılabilir hale getirir.
Fonksiyonun Sözdizimi
1 2 3 | def işlev_adı(parametreler): """belge dizisi""" ifadeler) |
Yukarıda gösterilen, aşağıdaki bileşenlerden oluşan bir fonksiyon tanımıdır.
def
İşlev başlığının başlangıcını işaretleyen anahtar sözcük.- İşlevi benzersiz şekilde tanımlamak için bir işlev adı. İşlev adlandırma , Python’da tanımlayıcı yazmayla aynı kuralları izler .
- Değerleri bir fonksiyona ilettiğimiz parametreler (argümanlar). Onlar isteğe bağlıdır.
- İşlev başlığının sonunu işaretlemek için iki nokta üst üste (:)
- İşlevin ne yaptığını açıklamak için isteğe bağlı belge dizesi (docstring).
- İşlev gövdesini oluşturan bir veya daha fazla geçerli python ifadesi. İfadeler aynı girinti düzeyine sahip olmalıdır (genellikle 4 boşluk).
return
İşlevden bir değer döndürmek için isteğe bağlı bir ifade.
Bir fonksiyon örneği
1 2 3 4 5 6 7 | def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") |
Python’da bir fonksiyon nasıl çağırılır?
Bir fonksiyon tanımladıktan sonra, onu başka bir fonksiyondan, programdan ve hatta Python komut isteminden çağırabiliriz. Bir işlevi çağırmak için, uygun parametrelerle birlikte işlev adını yazmamız yeterlidir.
1 2 | >>> greet('Paul') Hello, Paul. Good morning! |
Çıktıyı görmek için yukarıdaki kodu Python programında fonksiyon tanımıyla çalıştırmayı deneyin.
1 2 3 4 5 6 7 8 9 | def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul') |
Not : Python’da fonksiyon tanımı her zaman fonksiyon çağrısından önce bulunmalıdır. Aksi takdirde hata alırız. Örneğin,
1 2 3 4 5 6 7 8 9 10 11 12 13 | # function call greet('Paul') # function definition def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") # Error: name 'greet' is not defined |
Belge Dizileri
İşlev başlığından sonraki ilk dizgeye belge dizgisi denir ve belge dizgisinin kısaltmasıdır. Kısaca bir fonksiyonun ne yaptığını açıklamak için kullanılır.
İsteğe bağlı olmasına rağmen, belgeler iyi bir programlama uygulamasıdır. Geçen hafta akşam yemeğinde ne yediğinizi hatırlamıyorsanız, her zaman kodunuzu belgeleyin.
Yukarıdaki örnekte, fonksiyon başlığının hemen altında bir docstringimiz var. Doküman dizisinin birden çok satıra kadar genişletilebilmesi için genellikle üçlü tırnak işaretleri kullanırız. Bu dize, __doc__
işlevin özniteliği olarak bizim için kullanılabilir.
Örneğin :
Çıktıyı görmek için aşağıdakileri Python kabuğuna çalıştırmayı deneyin.
1 2 3 4 5 | >>> print(greet.__doc__) This function greets to the person passed in as a parameter |
Python’daki belge dizileri hakkında daha fazla bilgi edinmek için Python Belge Dizileri sayfasını ziyaret edin .
iade beyanı
İfade return
, bir işlevden çıkmak ve çağrıldığı yere geri dönmek için kullanılır.
dönüş sözdizimi
1 | [ifade_listesi] döndür |
Bu ifade, değerlendirilen ve değer döndürülen bir ifade içerebilir. İfadede ifade yoksa veya ifadenin kendisi bir işlevin içinde mevcut değilse, işlev nesneyi return
döndürür .None
Örneğin:
1 2 3 | >>> print(greet("May")) Hello, May. Good morning! None |
Burada, adı doğrudan yazdırdığı ve hiçbir ifade kullanılmadığı None
için döndürülen değerdir .greet()
return
iade örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 | def absolute_value(num): """This function returns the absolute value of the entered number""" if num >= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4)) |
Çıktı
1 2 | <samp>2 4</samp> |
Python’da İşlev nasıl çalışır?

Değişkenlerin Kapsamı ve Ömrü
Bir değişkenin kapsamı, bir programın değişkenin tanındığı kısmıdır. Bir fonksiyon içinde tanımlanan parametreler ve değişkenler fonksiyonun dışından görünmez. Bu nedenle, yerel bir kapsamları vardır.
Bir değişkenin ömrü, değişkenin bellekte bulunduğu süredir. Bir fonksiyon içindeki değişkenlerin ömrü, fonksiyon yürütüldüğü sürecedir.
Fonksiyondan döndüğümüzde yok edilirler. Bu nedenle, bir işlev önceki çağrılarından bir değişkenin değerini hatırlamaz.
İşte bir fonksiyon içindeki bir değişkenin kapsamını göstermek için bir örnek.
1 2 3 4 5 6 7 | def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x) |
Çıktı
1 2 | <samp>Fonksiyon içindeki değer: 10 Fonksiyon dışındaki değer: 20</samp> |
Burada, değerinin olduğunu görebiliriz.xbaşlangıçta 20’dir. my_func()
fonksiyon değerini değiştirse bilex10’a kadar, fonksiyonun dışındaki değeri etkilemedi.
Bunun nedeni değişkenxişlevin içi, dışarıdakinden farklıdır (fonksiyona yerel). Aynı isimlere sahip olmalarına rağmen, farklı kapsamlara sahip iki farklı değişkendir.
Öte yandan, fonksiyonun dışındaki değişkenler içeriden görülebilir. Küresel bir kapsamları var.
Bu değerleri fonksiyonun içinden okuyabilir ancak değiştiremez (yazamayız). Fonksiyon dışındaki değişkenlerin değerini değiştirmek için, anahtar kelime kullanılarak global değişkenler olarak bildirilmeleri gerekir global
.
Fonksiyon Türleri
Temel olarak, işlevleri aşağıdaki iki türe ayırabiliriz:
- Yerleşik işlevler – Python’da yerleşik işlevler.
- Kullanıcı tanımlı işlevler – Kullanıcıların kendileri tarafından tanımlanan işlevler.