Faqat kalit argumentlar
Agar ba’zi kalit argumentlarga faqat kalit bo’yicha murojaat qilish kerak bo’lsa, u holda yulduzchali parametrdan so’ng bu argumentni e’lon qilish mumkin.
Misol: (keyword_only.py nomi bilan saqlang)
def total(initial=5, *numbers, extra_number):
count = initial
for number in numbers:
count += number
count += extra_number
print(count)
total(10, 1, 2, 3, extra_number=50)
total(10, 1, 2, 3)
# Xatolik yuz beradi sababi biz 'extra_number' uchun qiymat bermadik.
Natija:
$ python keyword_only.py
66
Traceback (most recent call last):
File "keyword_only.py", line 12, in <module>
total(10, 1, 2, 3)
TypeError: total() needs keyword-only argument extra_number
Bu qanday ishlaydi:
Yulduzchali parametrdan keyin faqat kalitl parametrlar e’lon qilinadi. Agar bunday argumentlar uchun boshlang’ich qiymat berilmagan bo’lsa va funksiyani chaqirilish joyida qiymat berilmasa, xatolik yuz beradi.
Agar sizga faqat kalit argumentlar kerak bo’lsa, lekin yulduzchali parametr kerak bo’lmasa, u xolda shunchaki bitta nomsiz yulduzcha ko’rsatishingiz mumkin:
def total(initial=5, *, number).
Do'stlaringiz bilan baham: |