Nasıl düzeltilir: syntaxerror: konumsal argüman, anahtar kelime argümanını takip eder


Python’da karşılaşabileceğiniz bir hata:

 SyntaxError : positional argument follows keyword argument

Bu hata, bir işlevde anahtar kelime bağımsız değişkenini kullandıktan sonra konumsal bağımsız değişken kullandığınızda ortaya çıkar.

İşte ikisi arasındaki fark:

Konumsal argümanlar , önünde “anahtar kelime” bulunmayan argümanlardır.

  • Örnek: işlevim(2, 2)

Anahtar kelime argümanları, önünde bir “anahtar kelime” bulunan argümanlardır.

  • Örnek: işlevim(a=2, b=2)

Bir anahtar kelime argümanından sonra konumsal bir argüman kullanırsanız Python bir hata verecektir.

  • Örnek: işlevim(a=2, 2)

Aşağıdaki örnek, bu hatanın pratikte nasıl ortaya çıkabileceğini göstermektedir.

Örnek: Konumsal bir argüman, bir anahtar kelime argümanını takip eder

Python’da iki değeri çarpıp ardından üçte bire bölen aşağıdaki fonksiyona sahip olduğumuzu varsayalım:

 def do_stuff (a,b):
return a*b/c

Aşağıdaki örnekler bu işlevi kullanmanın geçerli ve geçersiz yollarını göstermektedir:

Geçerli yol #1: tüm konumsal argümanlar

Aşağıdaki kod, fonksiyonumuzun tüm konumsal argümanlarla nasıl kullanılacağını gösterir:

 do_stuff ( 4,10,5 )

8.0

Python her fonksiyon argümanı için tam olarak hangi değerlerin kullanılacağını bildiğinden hiçbir hata oluşmaz.

Geçerli Yöntem #2: Tüm Anahtar Kelime Bağımsız Değişkenleri

Aşağıdaki kod, işlevimizin tüm anahtar kelime bağımsız değişkenleriyle nasıl kullanılacağını gösterir:

 do_stuff(a= 4 , b= 10 , c= 5 )

8.0

Yine hiçbir hata atılmıyor çünkü Python her fonksiyon argümanı için tam olarak hangi değerlerin kullanılacağını biliyor.

Geçerli Yöntem #3: Anahtar Kelime Bağımsız Değişkenlerinden Önce Konumsal Bağımsız Değişkenler

Aşağıdaki kod, anahtar kelime bağımsız değişkenlerinden önce kullanılan konumsal bağımsız değişkenlerle işlevimizi nasıl kullanacağımızı gösterir:

 do_stuff( 4 ,b= 10 ,c= 5 )

8.0

Python an argümanına 4 değerinin atanması gerektiğini bildiğinden hata oluşmaz.

Geçersiz yol: anahtar kelime bağımsız değişkenlerinden sonra konumsal bağımsız değişkenler

Aşağıdaki kod, anahtar kelime bağımsız değişkenlerinden sonra kullanılan konumsal bağımsız değişkenlerle işlevi nasıl kullanmayı deneyebileceğimizi gösterir:

 do_stuff(a= 4 , 10 , 5 )

SyntaxError : positional argument follows keyword argument

Anahtar kelime bağımsız değişkenlerinden sonra konumsal bağımsız değişkenler kullandığımız için bir hata atılıyor.

Özellikle Python, 10 ve 5 değerlerinin b veya c argümanlarına atanması gerekip gerekmediğini bilmediğinden işlevi yürütemez.

Ek kaynaklar

Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

Pandas’ta KeyError Nasıl Düzeltilir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor
Nasıl düzeltilir? ValueError: İşlenenler şekillerle yayınlanamadı

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir