Fonksiyonlar
Python üzerinde fonksiyonlar ve metotlar
Last updated
Was this helpful?
Python üzerinde fonksiyonlar ve metotlar
Last updated
Was this helpful?
👬 Fonksiyonlara değişken değerlerinin kopyası gönderilir
💁♂️ Parametre olarak aldıkları objelerin içeriğini değiştirebilirler, ama kendisini değiştiremezler
✨ Parametre değerleri tanımlandıkları anda atanır, her çağırıldığında değil
⚡ Varsayılan parametre değerleri değiştirilemez değerler olmalıdır, aksi halde sorunlar oluşur
🆔 Fonksiyon ismi eşsiz olmalıdır, override yapısını python desteklemez
💎 Parametreler tip belirtmeden de yazılabilir
📝 Dokümantasyon için fonksiyonun tanımlandığı satırın altına """
karakterleri arasına içerik yazılır
⏩ return
yapısı ile sonuçlarını döndürürler
📢 Kodların derlenme yapısı yukarıdan aşağı olduğu için fonksiyonlar, yukarıda (önceden) tanımlanmadan kullanılamaz.
⚡ Fonksiyonlar tanımlandığı vakit varsayılan atamalar yapılır.
🚄 *args
, **kwargs
şeklinde list
ve dict
elemanları alan parametreler tanımlanabilir
🆔 Parametre tipler param: type
şeklinde belirtiliebilir ama zorunlu değildir
🙄 Python üzerinde private ve public yapısı derleyici tarafından kontrol edilmez
⚖️ Kodun anlaşılabilirliği artırmak için programcılar tarafından belirlenen kurallardır
🌫️ __
ile başlayan fonksiyonlar private
olarak algılanır, sınıf dışında önerilerde gözükmezler
🌃 _
ile başlayan fonksiyonlar dosya içinde public
dosya dışında private
olarak ifade edilir (interval
)
💚 Özyineleyen Fonksiyonların Avantajları
Özyineleyen fonksiyonlar kodun daha temiz ve zarif gözükmesini sağlar
Karmaşık bir görev alt görevlere ayrılarak rahat çözülebilir
İç içe döngülere göre daha iyidir
💔 Özyineleyen Fonksiyonların Zararları
Bazı durumlarda anlaşılabilmesi zordur
Uzun tekrarlarda çok fazla vakit ve zaman harcarlar
Hata ayıklama oldukça zordur
global
Tüm modülde geçerli değişkenler
Okuma
local
Fonksiyonların içerisindeki yerel değişkenler
Okuma ve Yazma
nonlocal
Modül ile fonksiyon arasında kalan, genellikle iç içe fonksiyonlarda kullanılan değişkenler
Fonksiyonlarda işlem yapılma hızı, manuel (kod satırı olarak) işlem yapılmasından daha hızlıdır.
~%80 daha hızlı çalıştığını script üzerinden görebilirsiniz
Bu değer bilgisayar donanımınıza göre değişiklik gösterecektir
Hafızayı (memorial) kullanan fonksiyonlar tekrarlı (recursive) fonksiyonlardan daha hızlıdır.
Ek kaynaklar:
Dahili fonksiyonlar, python ile gelen hazır fonksiyonlardır ve direkt olarak kullanılabilirler
Harici fonksiyonları kullanmadan önce import <paket>
ile paketi dahil etmeniz lazım
Fonksiyonların kullanımı <paket>.<fonksiyon>
şeklindedir
print(<string>)
Ekrana yazma
print("X: {1}, Y: {2}")
X: {1}, Y: {2}
print('\r' + <string>, end='')
Satır başına yazı yazma
sum, len
Toplama, uzunluk, ortalama
sum([1, 2, 3])
5
eval(<string>)
Verilen stringi hesaplama
eval("x + 5")
6
type(<obje>)
Objenin türünü bulma
type(x)
<class 'number'>
enumerate(<obje>, <si>)
Numaralandırma
i, line in enumerate(file, 0)
🧙♂ Detaylı bilgi için yazısına bakabilirsin.