*, / belgilari nima uchun qo'llanishini to'liq tanishib chiqamiz.
* belgisi qo'llaniladi
1. Ko'paytirish (Multiplication)
natija = 3 * 5 # 15
2. Elementlarning qaytarilishi (Repetition)
satr = 'salom' * 3 # 'salomsalomsalom'
lst = [1, 2] * 3 # [1, 2, 1, 2, 1, 2]
3. *args ko'rinishida foydalanish. Bir necha qiymatlarni listga yig'ib olish yoki qaytarish.
def yigindi(*args):
return sum(args)
natija = yigindi(1, 2, 3, 4) # 10
sonlar = [1, 2, 3]
natija = yigindi(*nums) # 6
4. ** double ya'ni ikkilangan holatda kelishi ham bor. Bunda:
1-daraja shaklida ishlatish (Exponentiation)
natija = 2**3 # 8
2-kwargs ko'rinishi (Dictionary)
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(ism='Khusanboy', manzil="Farg'ona")
# ism: Khusanboy
# manzil: Farg'ona
dc = {**{'a': 1, 'b': 2}, **{'c': 3}}
# {'a': 1, 'b': 2, 'c': 3}
5. Funksiyalarda faqat parametr nomi orqali murojaat qilib qiymat berish. (Keyword-only)
def example(*, a, b):
return a - b
result = example(b=1, a=2)
* belgisidan keyin keluvchi barcha funksiya parametrlariga faqatgina nomi orqali murojaat etish mumkin.
def example(*, a, b):
return a - b
result = example(1, 2)
Bu holat xato hisoblanadi.
/ belgisi qo'llaniladi
1. Kasrli yoki haqiqiy bo'lish amali sifatida ishlatish (True division)
natija = 5 / 2 # 2.5
2. // ikkilangan ko'rinishi. Butun bo'lish sifatida (Floor division)
natija = 5 // 2 # 2
3. Funksiyalarda majburiy parametrlarni belgilash (Positional-only).
Python 3.8 versiyasidan boshlab, funksiyalarda / belgisi yordamida majburiy parametrlar belgilash mumkin bo'lgan.
def yigindi(a, b, /):
return a + b
result = yigindi(1, 2) # 3
Bu holat ishlashi haqida / belgi uchragan joyga qadar barcha parametrlar uchun qiymatlar funksiyaga mos ketma-ketlida yuborilashi kerak bo'ladi. Ya'ni parametr nomini yozib, unga qiymat berish mumkin emas.
def example(a, b, /):
return a - b
result = example(b=1, a=2)
mana bu kabi ko'rinishda. Bu esa dasturda xatolik keltirib chiqaradi.
Ma'lumotlarda tushunarsiz bo'lgan qismlar mavjud bo'lsa, fikringizni qoldiring.
E'tiboringiz uchun raxmat.