Sadece konumsal
- Python kursu
- Başlangıç
- Ders 80/116
- 4 dk
/ ile sadece konumsal parametreleri öğrenirsin.
Sadece konumsal parametreler
Bir / işaretinden önce gelen parametreler sadece konumsal (positional-only) olur; anahtar kelime olarak geçilemez:
def compute(a, b, /):
return a + b
compute(1, 2) # gecerli
compute(a=1, b=2) # hataBu, parametre adlarının uygulama ayrıntısı olduğu durumlarda kullanılır; böylece ileride ad degistirse çağrılar bozulmaz.
Bu özellik Python 3.8 ile eklenmiştir.
Sadece konumsal neden kullanılır?
Sadece konumsal parametreler, parametre adının kullanıcı için önemli olmadığı durumlar için idealdir:
def add(x, y, /):
return x + yBurada x ve y adları değişebilir; çağrılar yine de çalışır. Çağrı add(3, 4) şeklinde yapılır.
Standart kütüphanedeki bazı fonksiyonlar (len, pow) böyle tanımlanmıştır.
Uygulama Sadece konumsal fonksiyon yaz
compute adında bir fonksiyon tanımla; a ve b sadece-konumsal parametreleri (sonra /) olsun. Gövdede return a + b yapsın. result değişkenine compute(3, 4) ata. Sonra print(result) yazdır.
Başlangıç kodu
# compute fonksiyonunu tanımlaÖrnek çözüm
def compute(a, b, /):
return a + b
result = compute(3, 4)
print(result)Beklenen çıktı
7
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sadece konumsal özelliklerini eşleştir
| Kavram | Anlamı |
|---|---|
/ |
Konumsal bölge ayıracı |
sadece konumsal |
Anahtar kelime olamaz |
compute(1, 2) |
Geçerli çağrı |
Python 3.8 |
Sürüm |
2 Sadece konumsal çağrısını tamamla
compute(____, 2)
compute(1, 2)
Açıklama: compute(1, 2) konumsal çağrıdır.
3 def f(a, /, b): ... çağrısında hangisi geçerlidir?
- f(a=1, 2)
- f(1, b=2) Doğru cevap
- f(1, 2)
- f(a=1, b=2)
Açıklama: a sadece konumsal (1 olarak verilir), b anahtar kelime olabilir.