O'zbek dasturchi (Shunchaki Ay-Ti)

@ozbekdasturchi Нравится 2
Это ваш канал? Подтвердите владение для дополнительных возможностей

O`zbek dasturchillikga bir qadam... bir harakat..bir maqsad.. Hamkorlik taklif etamiz Aloqa e-mail: hackeruz@yandex.ru va reklama @Reklama_Ozbekcha hamkorlik shartlari bo'yicha savollar moderatorimiz: @Maruf_Ashurov @Jpyth
Гео и язык канала
Узбекистан, Узбекский
Категория
Блоги


Гео канала
Узбекистан
Язык канала
Узбекский
Категория
Блоги
Добавлен в индекс
02.02.2021 20:53
1 May, 07:41 (180 дней назад)
Репост из: Python dasturlash maktabi
Funksiya chaqirilganda argumentlar soni teng bo'lmasa TypeError xatoligini qaytaradi.


def func(argument1, argument2, argument3):
print(argument1 * argument2 + argument3)


func(2, 6)

TypeError: func() missing 1 required positional argument: 'argument3'


Funksiyalarda o'zgaruvchan miqdordagi argumentlarni uzatish uchun maxsus belgilardan *, ** foydalaniladi.

*args (kalit-qiymatsiz argumentlar)
**kwargs (kalit-qiymatli argumentlar)
args va kwargs shunchaki argumentlar ro'yxatiga berilgan nom.Bu nomni boshqa istalgan nomga o'zgartirishingiz mumkin.
Masalan: *kalitsiz va **kalitli. Lekin dastur biror jamoa tomonidan yoziladigan bo'lsa yoki dastur kodi sotilishi rejalashtirilgan bo'lsa argumentlar to'plamini args va kwargs kabi nomlash maqsadga muvofiqdir.

Argsga misol:

def func(arg1, *arg):
print('Birinchi argument: ' + arg1)
for i in arg:
print('Boshqa argument: ' + i)


func('@pythonuz', '@js_uz', '@phpuz', '@pyqt5')


Birinchi argument: @pythonuz
Boshqa argument: @js_uz
Boshqa argument: @phpuz
Boshqa argument: @pyqt5


Kwargsga misol:

def func(kwarg):
for i in kwarg:
print('Qiymat: ' + i)


var = {'python': '@pythonuz', 'JavaScript': '@js_uz', 'Php': '@phpuz', 'PyQt5': '@pyqt5'}
func(var)

Qiymat: python
Qiymat: JavaScript
Qiymat: Php
Qiymat: PyQt5


def func(**kwarg):
for x, y in kwarg.items():
print('Kalit: ' + x, ' Qiymat: ' + y)


func(python='django', javascript='react', php='laravel')

Kalit: python Qiymat: django
Kalit: javascript Qiymat: react
Kalit: php Qiymat: laravel

@pythonuz