Python funksiya argumentlari
Argumentlar
Axborot funksiyalarga argument sifatida uzatilishi mumkin.
Argumentlar funksiya nomidan keyin qavslar ichida ko‘rsatiladi. Siz xohlagancha argumentlar qo‘shishingiz mumkin, ularni vergul bilan ajratib qo‘ying.
Quyidagi misolda bitta argument (fname) bilan funksiya mavjud. Funksiya chaqirilganda, biz to‘liq ismni chop etish uchun funksiya ichida ishlatiladigan ismni o‘tkazamiz:
Misol
Bitta argumentli funksiya:
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
O‘zingiz sinab ko‘ring »
Parametrlar va argumentlar
Parametr va argument atamalari bir xil narsa uchun ishlatilishi mumkin: funksiyaga uzatiladigan ma’lumotlar.
Funksiya nuqtai nazaridan:
Parametr funksiya ta’rifida qavslar ichida ko‘rsatilgan o‘zgaruvchidir.
Argument funksiya chaqirilganda unga yuboriladigan haqiqiy qiymatdir.
Misol
def my_function(name): # name is a parameter
print("Hello", name)
my_function("Emil") # "Emil" is an argument
Argumentlar soni
Odatiy bo‘lib, funksiya to‘g‘ri argumentlar soni bilan chaqirilishi kerak.
Agar funksiyangiz 2 ta argumentni kutsa, uni aynan 2 ta argument bilan chaqirishingiz kerak.
Misol
Bu funksiya 2 ta argumentni kutadi va 2 ta argumentni oladi::
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
O‘zingiz sinab ko‘ring »
Agar siz noto‘g‘ri argumentlar soni bilan funksiyani chaqirishga harakat qilsangiz, siz xatoga duch kelasiz:
Misol
Bu funksiya 2 ta argumentni kutadi, lekin faqat 1 tasini oladi:
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil")
O‘zingiz sinab ko‘ring »
Standart parametr qiymatlari
Parametrlarga standart qiymatlarni belgilashingiz mumkin. Agar funksiya argumentsiz chaqirilsa, u standart qiymatdan foydalanadi:
Misol
def my_function(name = "friend"):
print("Hello", name)
my_function("Emil")
my_function("Tobias")
my_function()
my_function("Linus")
O‘zingiz sinab ko‘ring »
Misol
Mamlakat parametri uchun standart qiymat:
def my_function(country = "Norway"):
print("I am from", country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
O‘zingiz sinab ko‘ring »
Kalit so‘z argumentlari
Siz argumentlarni kalit = qiymat sintaksisi bilan yuborishingiz mumkin.
Misol
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function(animal = "dog", name = "Buddy")
O‘zingiz sinab ko‘ring »
Shunday qilib, kalit so‘z argumentlari bilan argumentlar tartibi muhim emas.
Misol
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function(name = "Buddy", animal = "dog")
O‘zingiz sinab ko‘ring »
Kalit so‘z argumentlari iborasi ko‘pincha Python hujjatlarida kvarglarga qisqartiriladi.
Pozitsion argumentlar
Agar siz kalit so‘zlardan foydalanmasdan argumentli funksiyani chaqirsangiz, ular pozitsion argumentlar deb ataladi.
Pozitsion argumentlar to‘g‘ri tartibda bo‘lishi kerak:
Misol
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function("dog", "Buddy")
O‘zingiz sinab ko‘ring »
tartib pozitsion argumentlar bilan muhimdir:
Misol
tartibni almashtirish natijani o‘zgartiradi:
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function("Buddy", "dog")
O‘zingiz sinab ko‘ring »
Pozitsion va kalit so‘z argumentlarini aralashtirish
Funksiya chaqiruvida pozitsion va kalit so‘z argumentlarini aralashtirishingiz mumkin.
However, positional arguments must come before keyword arguments:
Misol
def my_function(animal, name, age):
print("I have a", age, "year old", animal, "named", name)
my_function("dog", name = "Buddy", age = 5)
O‘zingiz sinab ko‘ring »
Turli xil ma’lumotlar turlarini o‘tkazish
Funksiyaga argument sifatida istalgan ma’lumot turini yuborishingiz mumkin (string, raqam, ro‘yxat, lug‘at va h.k.).
Ma’lumotlar turi funksiya ichida saqlanib qoladi:
Misol
Ro‘yxatni argument sifatida yuborish:
def my_function(fruits):
for fruit in fruits:
print(fruit)
my_fruits = ["apple", "banana", "cherry"]
my_function(my_fruits)
O‘zingiz sinab ko‘ring »
Misol
Lug‘atni argument sifatida yuborish:
def my_function(person):
print("Name:", person["name"])
print("Age:", person["age"])
my_person = {"name": "Emil", "age": 25}
my_function(my_person)
O‘zingiz sinab ko‘ring »
Qaytish qiymatlari
Funksiyalarreturnifodasi yordamidareturnqiymatlarini berishi mumkin:
Misol
def my_function(x, y):
return x + y
result = my_function(5, 3)
print(result)
O‘zingiz sinab ko‘ring »
Turli xil ma’lumotlar turlarini qaytarish
Funksiyalar har qanday ma’lumot turini, jumladan, listlar, kortejlar, dictionarylar va boshqalarni qaytarishi mumkin.
Misol
Ro‘yxatni qaytaradigan funksiya:
def my_function():
return ["apple", "banana", "cherry"]
fruits = my_function()
print(fruits[0])
print(fruits[1])
print(fruits[2])
O‘zingiz sinab ko‘ring »
Misol
Kortejni qaytaruvchi funksiya:
def my_function():
return (10, 20)
x, y = my_function()
print("x:", x)
print("y:", y)
O‘zingiz sinab ko‘ring »
Faqat pozitsion argumentlar
Funksiya FAQAT pozitsion argumentlarga ega bo‘lishi mumkinligini belgilashingiz mumkin.
Faqat pozitsion argumentlarni belgilash uchun argumentlardan keyin , / qo‘shing:
, /siz, hatto funksiya pozitsion argumentlarni kutsa ham, kalit so‘z argumentlaridan foydalanishga ruxsat beriladi:
Misol
def my_function(name):
print("Hello", name)
my_function(name = "Emil")
O‘zingiz sinab ko‘ring »
, / bilan kalit so‘z argumentlaridan foydalanmoqchi bo‘lsangiz, xatoga duch kelasiz:
Misol
def my_function(name, /):
print("Hello", name)
my_function(name = "Emil")
O‘zingiz sinab ko‘ring »
Faqat kalit so‘zli argumentlar
Funksiyada faqat kalit so‘z argumentlari bo‘lishi mumkinligini belgilash uchun argumentlar oldiga *, qo‘shing:
Misol
def my_function(*, name):
print("Hello", name)
my_function(name = "Emil")
O‘zingiz sinab ko‘ring »
*,siz, funksiya kalit so‘z argumentlarini kutsa ham, pozitsion argumentlardan foydalanishga ruxsat beriladi:
*, bilan siz pozitsion argumentlardan foydalanmoqchi bo‘lsangiz, xatoga duch kelasiz:
Faqat pozitsion va faqat kalit so‘zlarni birlashtirish
Ikkala argument turini bir funksiyada birlashtira olasiz.
/ dan oldingi argumentlar faqat pozitsion, * dan keyingi argumentlar esa faqat kalit so‘zdan iborat:
Misol
def my_function(a, b, /, *, c, d):
return a + b + c + d
result = my_function(5, 10, c = 15, d = 20)
print(result)
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
