Python işlevlerinin temelleri
İşlevler, Python'ın programlama temellerini öğrendiklerinden sonraki adımdır. İşlev, en basit biçimiyle her zaman bir değer (veya değerler) döndüren kod içerir. Bazı durumlarda, bir işlevin isteğe bağlı veya gerekli girişleri de vardır.
Programın diğer bölümlerini çoğaltan kod yazmaya başladığınızda, kodu bir işleve ayıklamak için mükemmel bir fırsat haline gelir. İşlevler aracılığıyla ortak kodu paylaşmak yararlı olsa da, parçaları daha küçük (daha okunabilir) işlevlere ayıklayarak kodun boyutunu sınırlayabilirsiniz.
Yinelemeyi önleyen ve daha küçük işlevler kullanarak büyük işlevleri engelleyen programlar daha okunabilir ve sürdürülebilirdir. Ayrıca, işler düzgün çalışmadığında hata ayıklamak da daha kolaydır.
İşlev girişleriyle ilgili çeşitli kurallar, işlevlerin sunduğu her şeyden tam olarak yararlanmanız açısından kritik öneme sahiptir.
Önemli
Hangi işlevlerin içinde yer alacağını açıklamak için giriş terimini kullansak da, bu öğelere genellikle bağımsız değişken veya parametre adı verilir. Bu modülde tutarlılık için girişlere bağımsız değişken olarak başvuracağız.
Bağımsız değişken içermeyen işlevler
İşlev oluşturmak için anahtar sözcüğünü def
ve ardından bir ad, parantez ve ardından işlev koduyla gövdeyi kullanırsınız:
def rocket_parts():
print("payload, propellant, structure")
Bu durumda, rocket_parts
işlevin adıdır. Bu adın ardından boş ayraçlar eklenir ve bu da bağımsız değişkenin gerekli olmadığını gösterir. Sonuncusu, dört boşlukla girintili koddur. işlevini kullanmak için parantezleri kullanarak adıyla çağırmanız gerekir:
rocket_parts()
payload, propellant, structure
rocket_parts()
İşlev herhangi bir bağımsız değişken almaz ve bir deyimi yazdırır. İşlevin döndüreceği bir değer kullanmanız gerekiyorsa işlev çıkışını bir değişkene atayabilirsiniz:
output = rocket_parts()
payload, propellant, structure
output is None
True
değişkeninin değerinin output
olması None
şaşırtıcı görünebilir. Bunun nedeni, işlevin rocket_parts()
açıkça bir değer döndürmemesidir. Python'da bir işlev açıkça bir değer döndürmezse , örtük olarak döndürür None
. İşlevi yazdırmak yerine dizeyi döndürecek şekilde güncelleştirmek değişkenin output
farklı bir değere sahip olmasına neden olur:
def rocket_parts():
return "payload, propellant, structure"
output = rocket_parts()
output
payload, propellant, structure
Bir işlevin değerini kullanmanız gerekiyorsa, bu işlevin açıkça döndürülmesi gerekir . Aksi takdirde döndürülür None
.
Not
Her zaman bir işlevin dönüşünü atamanız gerekmez. Bir işlevin açıkça bir değer (veya değer) döndürmediği çoğu durumda, döndürülen örtülü None
öğeyi atamanız veya kullanmanız gerekmez.
Gerekli ve isteğe bağlı bağımsız değişkenler
Python'da çeşitli yerleşik işlevler için bağımsız değişkenler gerekir. Bazı yerleşik işlevler bağımsız değişkenleri isteğe bağlı hale getirir. Yerleşik işlevler hemen kullanılabilir, bu nedenle bunları açıkça içeri aktarmanız gerekmez.
Bağımsız değişken gerektiren yerleşik bir işleve örnek olarak verilmiştir any()
. Bu işlev yinelenebilir bir (örneğin, liste) alır ve yinelenebilir True
öğelerden biri ise döndürürTrue
. Aksi takdirde döndürür False
.
any([True, False, False])
True
any([False, False, False])
False
Herhangi bir bağımsız değişken olmadan çağırırsanız any()
, yararlı bir özel durum oluşturulur. Hata iletisinde en az bir bağımsız değişkene ihtiyacınız olduğu açıklanır:
any()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: any() takes exactly one argument (0 given)
adlı str()
başka bir yerleşik işlev kullanarak bazı işlevlerin isteğe bağlı bağımsız değişkenlerin kullanılmasına izin verdiği doğrulayabilirsiniz. Bu işlev bağımsız değişkenden bir dize oluşturur. Hiçbir bağımsız değişken geçirilmediyse boş bir dize döndürür:
str()
''
str(15)
'15'