Python funksiya argumentlari


ULASHISH

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:

Misol

def my_function(name, /):   print("Hello", name) my_function("Emil")
O‘zingiz sinab ko‘ring »

, /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:

Misol

def my_function(name):   print("Hello", name) my_function("Emil")
O‘zingiz sinab ko‘ring »

*, bilan siz pozitsion argumentlardan foydalanmoqchi bo‘lsangiz, xatoga duch kelasiz:

Misol

def my_function(*, name):   print("Hello", name) my_function("Emil")
O‘zingiz sinab ko‘ring »

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!