Argümanlar ve anahtar kelime argümanları denen bir şeyden bahsedelim.
Yani, bunu daha önce de gördük.
Doğru.
Bir işlevi var.
Aslında args ve star star anahtar kelimesi args olarak adlandırılan bu özel karakterleri kullanabiliriz.
Bunları nasıl kullanabiliriz?
Bir bakalım.
Bir fonksiyon deneyelim.
Diyelim ki tanımlayalım ve buna süper funk diyelim.
Bir tür argüman alan süper fonksiyon için.
Ve bu argümanlar bize ulaşacak.
Ve unutmayın, her ne kadar bu yaylara
Bunun kendisi bir parametredir, hatırladınız mı?
Ancak diyelim ki sadece bazı argümanları döndürmek istiyoruz ve neden bazılarının bu işlevi tanımlamamız gerekmediğini merak ediyor
olabilirsiniz.
Aslında, burada görebileceğiniz gibi Python'da bazıları var.
Böylece sadece bazı argümanları döndürebiliriz.
Şunu deneyelim.
Süper fonksiyon diyelim.
Ve ona argüman ver.
Bir, iki, üç, dört, beş.
Eğer çalıştır'a tıklarsam.
Hmm.
Havaya giriyorum süper funk bir pozisyonel argüman alıyor ama beş tane verildi ve bu mantıklı değil mi?
Burada yalnızca bir parametrem var, o da kabul ettiği konumsal bir argüman.
Ve bunu toplamaya çalışıyorum, böylece sadece bir tane alıyor, ama bilmediği tüm bu şeylere veriyorum.
İşte bu noktada buraya bir yıldız ekleyerek bunun gibi bir şey kullanabiliriz.
Diyoruz ki, hey, bu, bunun gibi herhangi bir sayıda konumsal argümanı kabul edebilir.
Ne kadar istersem.
Aslına bakarsanız, bunun çıktısını alalım.
Eğer yıldız yaylarını yazdırırsam ve bu fonksiyonu çalıştırırsak.
Baskı yıldız yaylarının bize bir, iki, üç, dört, beş verdiğini görüyoruz.
Bunlar aldığımız tüm parametreler veya argümanlardır.
Ve eğer buradaki yıldızı kaldırırsam ve Çalıştır'a tıklarsam.
Şuna bak.
Aslında bunu bir tuple olarak alıyorum.
Yani bu fonksiyonun içindeki args, ona verdiğim bir argüman çiftidir.
Bir, iki, üç, dört, beş.
Yani bir, iki, üç, dört, beş üçlüsünden bazıları bize doğru cevabı verecektir.
Bizim için basacak.
Cevap.
15.
Çok, çok havalı.
Bu şekilde genişletebiliriz.
Ve herhangi bir sayıda argüman kabul edebilen bir fonksiyona sahip olmak için yıldız argümanlarımızı kullanın.
Peki bu ne şimdi?
Şey, bu.
Anahtar kelime argümanlarını kullanmamıza izin verir.
Örneğin, diyelim ki yıldız yıldız anahtar kelime yaylarım şu şekilde.
Ve bu arada, bu teknik olarak herhangi bir şey olabilir.
Yani bu oluşturduğumuz bir değişken.
İstersem hoo olarak adlandırabilirim, ancak standart args ve anahtar kelime args olarak adlandırmaktır çünkü diğer geliştiriciler bunu bu şekilde
kullanıyor ve Python topluluğunda bu şekilde yapılıyor.
Şimdi anahtar kelime yaylarıyla, tahmin edebileceğiniz gibi, num one equals gibi anahtar kelimeler ekleyebilirim.
Beş ve sonra num iki eşittir on.
Böylece anahtar kelime args'yi yazdırırsam ve çalıştır'a tıklarsam.
Sözlükte hiç yok.
Bir eşittir beş ve şimdi iki eşittir on.
Böylece aslında anahtar kelime arg'larındaki öğelerin toplamı artı toplamı gibi bir şey yapabilirim.
Ve değerleri alın.
Doğru.
Bunu daha önce de gördük.
Ve bunu alıp bir for döngüsü yapalım ve anahtar kelime yaylarındaki öğelere nokta değerleri diyelim.
Buradaki ve buradaki değerleri almayı unutmayın, sadece toplamları toplayın.
Diyelim ki burada toplam eşittir veya artı eşittir öğeleri var ve bir toplam ekleyeceğiz.
Burada başlangıçta sıfırdır, böylece bazıları.
Bazı argümanlar artı toplam olacak.
Eğer bunu çalıştırırsam.
Ben 30 alıyorum.
Şu anda biraz kafa karıştırıcı görünüyor.
Hadi üzerinden geçelim.
Bu konumsal argümanları almamızı ve her şeyi toplamamızı sağlayan yıldız yaylarımız var.
Ayrıca, herhangi bir sayıda anahtar kelime argümanını almamıza ve anahtar kelime yayları olarak gelen bir sözlük elde etmemize ve daha sonra bunları istediğimiz
gibi kullanmamıza olanak tanıyan anahtar kelime yaylarımız da var.
Bizim durumumuzda, tüm değerler üzerinde döngü yapıyoruz, yani anahtar kelime yay değerlerindeki öğeler
ve sonra tüm bu öğeleri toplayacağım.
Bir toplam alın ve sadece toplamı döndürün.
Şimdi bu yine son derece kullanışlıdır çünkü Superfund'umuz artık istediğimiz kadar argüman, istediğimiz kadar konumsal
ve anahtar kelime argümanı alabilir.
Şimdi, son bir şey.
Burada parametrelerimiz için yapabileceğimiz bir sıralama rolü vardır.
Doğru.
Yani parametrelerimizde kuralın ilk sırası budur.
Gerçek parametrelerimize sahibiz.
Daha sonra yıldız yayları ve ardından varsayılan parametreler yapabiliriz.
O zaman Star.
Yıldız.
Anahtar kelime yayları.
Size ne demek istediğimi göstereyim.
Bu fonksiyonu tanımlamak istiyorsak, ona diyelim ki isim parametresi verdiğimizden
emin olmak isteriz.
Bu yıldız yaylarından önce gelmeli.
Ve varsayılan parametrelerimiz varsa, bunlar genellikle yaylardan sonra, ancak anahtar kelime yaylarından önce gelmelidir.
Eğer yaparsam, eşittir yüksek diyelim ve buraya bir virgül eklediğimizden emin olalım.
Şimdi kuralı takip ediyoruz.
Ve bu arada, aslında asla böyle bir fonksiyon yazmazsınız çünkü, açıkçası, çok kafa karıştırıcı
görünüyor.
Genellikle bunlardan sadece ikisini ya da belki sadece birini kullanırsınız.
Ancak bu şekilde bu fonksiyonu name ile çağırabilirim ve sonra args'ım, sonra varsayılan parametrem, ki bu da I equal to high
olacak, ki diyelim ki bunu geçmiyoruz bile.
Ve sonra bu var.
Eğer burada koşarsak.
Bu hala çalışıyor.
Sadece isim ve ben kullanmıyoruz.
Ancak params args, varsayılan parametreler ve ardından anahtar kelime arx kuralını izlediğimi görüyorsunuz.
Tamam.
Umarım bundan sonra başınız çok fazla ağrımaz.
Biraz ara verin, bir sonrakinde görüşürüz.
Güle güle.