CodeBlanks Logo Icon CodeBlanks

Sadece konumsal

/ 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)   # hata

Bu, 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 + y

Burada 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

main.py
# compute fonksiyonunu tanımla

Örnek çözüm

main.py
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

Soru
compute(____, 2)
Cevap
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.

Başlangıç bölümündeki tüm dersler