Python konumsal argümanlar

Python işlevleri ve meth

Python'da iki tür argüman vardır: konumsal ve anahtar kelime arguments. Bu argümanlar belirli bir sırada görünmelidir, aksi takdirde Python yorumlayıcısı bir hata döndürür.

Bu kılavuzda, “konumsal argüman anahtar kelime argümanını takip eder” hata ve neden yükseltildi. Nasıl çözüleceğini anlatabilmemiz için bu hatayı içeren örnek bir kod parçacığına bakacağız.

Haydi başlayalım!




Sorun: konumsal argüman anahtar kelime argümanını takip eder

Hatamızın tamamına bir göz atalım:

 SyntaxError: konumsal argüman, anahtar kelime argümanını takip eder

İngilizce gibi, programlama dillerinin de kendi kuralları vardır. Bu kurallara sözdizimi denir. Hatamız bir sözdizimi hatasıdır, bu da bir Python kodunun nasıl yazılacağını yöneten kurallardan birine uymadığımız anlamına gelir.

Hatamızın sonraki kısmı bize bu hataya neyin neden olduğunu söyler. . Bu durumda, kodumuzun bir anahtar kelime argümanından sonra görünen bir konum argümanına sahip olması gerekir.

Konumsal argümanlar, görünen argümanlardır. ilgili konumlarında:

def add_numbers(a, b): return a + b Bunu diyelim işlev: add_numbers(2, 3)

“a” ve “b” fonksiyonumuzun içinde değişkenler olun. Bu kod, iki konumsal argüman belirttiğimiz için çalışır. “a” eşittir 2 ve “b” üçe eşittir. Bu argümanları anahtar kelime argümanları olarak da belirtebiliriz:

Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar altı aydan daha az bir kariyer geçişi geçirdi.

Ancak, bir eğitim kampı belirleyemiyoruz. önce konumsal argüman ve ardından anahtar kelime sözdizimine geçin.

Bunun nedeni, Python'un bir fonksiyonda birden çok argümanı işleyen *args adlı özel bir fonksiyonu olmasıdır. Şu kodu göz önünde bulundurun:

def show_users(a, b, *args): print(a, b, * args)

Bu kod *args kullanır. Bu anahtar kelime, değişken sayıda argümanı temsil eder. show_users() fonksiyonumuza istediğimiz kadar argüman iletebiliriz:

show_users("Alex", "Peter", "Violet', "Julie")

Kodumuz şunu döndürür: Alex Peter Violet Julie


İlk iki argümanımız, “a” ve “b”, sırasıyla “Alex” ve “Peter” değerlerine sahiptir.

Bu, çünkü konumsal sözdizimi kullanırsanız, bağımsız değişkenler iletildikleri sıraya göre atanır. *args bilinmeyen miktarda ek bağımsız değişkeni temsil ettiğinden, son bağımsız değişkenler belirtildikleri sırayla görünür.




Bir Örnek Senaryo

Bu hatayla karşılaşan bir kod parçacığına bir göz atalım:

Bu işlev iki argümanlar: salatalar ve pizzalar Fonksiyonumuz salata menüsündeki her salatayı ve pizza menüsündeki her pizzayı konsola yazdırır.

İşlevimizi çağıralım:

salatas = ["Ton Balığı Salatası", "Marul ve Mango Salatası", "Gr eek Salad"] pizzalar = ["Veggie Supreme", "Ham and Pineapple", "Barbekü Tavuk"] print_menu(pizzas=pizzas, salatalar)

Kodumuz şunu döndürür:

"main.py" dosyası, 13. satır print_menu(pizzas=pizzas, salatalar) ^ SyntaxError: konumsal bağımsız değişken, anahtar kelime bağımsız değişkenini takip eder

Beklediğimiz gibi kodumuzda bir hata var. Hadi düzeltelim.




Çözüm

Bu sorunu çözmek için, tüm konumsal argümanların anahtar kelime argümanlarından önce geldiğinden emin olmamız gerekiyor. Bu kuralı yansıtmak için işlevimizi çağırma biçimimizi değiştirelim:

print_menu(salatalar, pizzalar)

pre>

İki konumsal argüman belirledik: salatalar ve pizzalar. Alternatif olarak, “pizzalar” “salads”dan sonra anahtar kelime argümanı olarak:

print_menu(salatalar, pizzalar = pizzalar)

Bu örnekte, *args yöntemini kullanmadığımız için herhangi bir anahtar kelime bağımsız değişkeni eklemek gereksizdir. Bununla birlikte, anahtar kelime argümanlarının eklenmesi, bir fonksiyona geçirilen değerlerin sayısına bağlı olarak kodu daha okunabilir hale getirebilir.

Hadi kodumuzu bu revize edilmiş fonksiyon çağrısı ile çalıştıralım:

Salata Menüsü Ton Balığı Salatası Marul ve Mango Salatası Yunan Salatası Pizza Menüsü Sebzeli Supreme Jambon ve Ananaslı Barbekü Tavuk

Kodumuz iki Python listemizi başarıyla yazdırıyor.





Sonuç

Python'da bir anahtar kelime argümanından önce konumsal argümanlar görünmelidir.Bunun nedeni Python'un konumsal argümanları göründükleri sırayla yorumlamasıdır. belirtilen anahtar kelime argümanları.

Artık “pozisyonel argüman anahtar kelime argümanını takip eder” hatasını bir uzman gibi çözmeye hazırsınız Python geliştiricisi!

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

< button>Bootcamp Eşleşmenizi Bulun



Python konumsal argümanlar: StackOverflow Questions

Tutorials