Positional-only parameters
Python 3.8 funksiyalarga yangi xususiyat qo'shdi, bu esa pozitsiya bo'yicha parametrlar deb ataladi.
Pozitsiya bo'yicha parametrlar
Python 3.8 funksiyalarga yangi xususiyat qo'shdi, bu esa pozitsiya bo'yicha parametrlar deb ataladi. Ular Python'ga ba'zi parametrlar pozitsiya bo'yicha bo'lishi kerakligini va ba'zilari kalit so'z bo'lishi kerakligini aytish uchun maxsus sintaksisdan foydalanadi.
Keling, misolga qaraylik:
Birinchi ikkita parametr, name
va age
, pozitsiya bo'yicha bo'lishi shart. Ular kalit so'z argumentlari sifatida uzatilishi mumkin emas, shuning uchun yuqoridagi xatoni ko'rasiz. a
va b
argumentlari esa pozitsiya yoki kalit so'z sifatida bo'lishi mumkin. Nihoyat, key
faqat kalit so'z sifatida.
Oldinga slash, /
, Python'ga oldidagi barcha argumentlar pozitsiya bo'yicha bo'lishi kerakligini bildiradi. Slashdan keyin esa pozitsiya yoki kalit so'z argumentlari keladi, va *
belgisidan keyin esa hamma narsa faqat kalit so'z argumentlari sifatida ko'riladi.
Funktsiyani chaqirishning to'g'ri usuli:
Biroq, agar siz faqat pozitsiya argumentlarini uzatsangiz, xato olasiz:
positional()
funksiyasi oxirgi argumentni kalit so'z argumenti sifatida kutmoqda.
Asosiy g'oya shundaki, pozitsiya bo'yicha parametrlar parametr nomining o'zgarishiga imkon beradi, mijoz kodini buzmasdan.
Siz pozitsiya bo'yicha argumentlar va **kwargs
uchun bir xil nomdan ham foydalanishingiz mumkin:
Sintaksisning to'liq amalga oshirilishi va sabablarini bu yerda o'qishingiz mumkin: PEP 570.
Keling, keyingi mavzuga o'tamiz va doiralar haqida bir oz o'rganamiz!