🔮Fonksiyonlar
Python üzerinde fonksiyonlar ve metotlar
👀 Hızlı Bakış
👬 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
🧙♂ Detaylı bilgi için 📖 Mutable Default Arguments alanına bakabilirsin.
✨ Oluşturma
🆔 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.
💎 Parametreler
⚡ Fonksiyonlar tanımlandığı vakit varsayılan atamalar yapılır.
🚄
*args
,**kwargs
şeklindelist
vedict
elemanları alan parametreler tanımlanabilir🆔 Parametre tipler
param: type
şeklinde belirtiliebilir ama zorunlu değildir
🧙♂ Detaylı bilgi için Function Parameter Types in Python yazısına bakabilirsin.
♿ Erişebilirlik
🙄 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 fonksiyonlarprivate
olarak algılanır, sınıf dışında önerilerde gözükmezler🌃
_
ile başlayan fonksiyonlar dosya içindepublic
dosya dışındaprivate
olarak ifade edilir (interval
)
🧱 Türler
💚 Ö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, Local ve Nonlocal
Kavram | Açıklama | Erişim |
---|---|---|
| Tüm modülde geçerli değişkenler | Okuma |
| Fonksiyonların içerisindeki yerel değişkenler | Okuma ve Yazma |
| Modül ile fonksiyon arasında kalan, genellikle iç içe fonksiyonlarda kullanılan değişkenler |
🏃♂️ Hız Hakkında
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 ve Harici Fonksiyonlar
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ımFonksiyonların kullanımı
<paket>.<fonksiyon>
şeklindedir
Fonksiyon | Açıklama | Örnek | Çıktı |
---|---|---|---|
| Ekrana yazma |
|
|
| Satır başına yazı yazma | ||
| Toplama, uzunluk, ortalama |
|
|
| Verilen stringi hesaplama |
|
|
| Objenin türünü bulma |
|
|
| Numaralandırma |
|
Last updated