Pozitsion va nomli argumentlar


Download 25.45 Kb.
bet1/4
Sana24.03.2023
Hajmi25.45 Kb.
#1293508
  1   2   3   4
Bog'liq
args va kwargs


Pozitsion va nomli argumentlar

*argsva bilan shug'ullanish uchun **kwargspozitsion (pozitsion) va nomlangan (kalit so'z) argumentlari tushunchalarini o'zlashtirishimiz kerak.

Birinchidan, keling, ular qanday farq qilishlari haqida gapiraylik. Eng oddiy funktsiyada biz shunchaki argumentlar va parametrlarning pozitsiyalarini moslashtiramiz. 1-argument №1 parametrga, 2-argument №2 parametrga mos keladi va hokazo.

def printThese(a,b,c):


print(a, "is stored in a")
print(b, "is stored in b")
print(c, "is stored in c")
printThese(1,2,3)
"""
1 is stored in a
2 is stored in b
3 is stored in c
"""

Funktsiyani chaqirish uchun uchta argument ham talab qilinadi. Agar siz ulardan kamida bittasini o'tkazib yuborsangiz, xato xabari ko'rsatiladi.

def printThese(a,b,c):


print(a, "is stored in a")
print(b, "is stored in b")
print(c, "is stored in c")
printThese(1,2)
"""
TypeError: printThese() missing 1 required positional argument: 'c'
"""

Agar siz funktsiyani e'lon qilishda parametrga standart qiymatni belgilasangiz, funktsiyani chaqirishda tegishli argumentni ko'rsatish shart emas. Parametr ixtiyoriy bo'ladi.

def printThese(a,b,c=None):


print(a, "is stored in a")
print(b, "is stored in b")
print(c, "is stored in c")
printThese(1,2)
"""
1 is stored in a
2 is stored in b
None is stored in c
"""

Ixtiyoriy parametrlarni nomlari yordamida funksiyani chaqirishda ham belgilash mumkin.

Quyidagi misolda, keling, uchta parametrni ularning standart qiymatiga o'rnatamiz Noneva funktsiyani chaqirishda ishlatiladigan argumentlar tartibidan qat'i nazar, ularni nomlari yordamida qanday belgilash mumkinligini ko'rib chiqamiz.

def printThese(a=None,b=None,c=None):


print(a, "is stored in a")
print(b, "is stored in b")
print(c, "is stored in c")
printThese(c=3, a=1)
"""
1 is stored in a
None is stored in b
3 is stored in c
"""

Yulduzcha operatori



Operator *ko'pincha odamlarda ko'paytirish operatsiyasi bilan bog'langan, ammo Pythonda bu boshqa ma'noga ega.

Ushbu operator ma'lum elementlarni o'z ichiga olgan ob'ektlarni "ochish" imkonini beradi. Mana bir misol:

a = [1,2,3]


b = [*a,4,5,6]
print(b) # [1,2,3,4,5,6]
Bu erda ro'yxatning mazmuni olinadi a, o'raladi va ro'yxatga joylashtiriladi b.

Download 25.45 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling