tgoop.com/pythonuz/526
Last Update:
Funksiyalar (vazifalar)
Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def
operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin.
Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod bloklari funksiya chaqirilgandagina bajariladi.
⚠️ Funksiya yuqori va ostki qismida 2 qator bo'sh joy bo'lishi maqsadga muvofiqdir.
my_func nomli funksiyaga misol.def my_func1():
Funksiyani yozmasdan uni chaqirsangiz dastur
print('Bu funksiya')
my_func1()
Bu funksiyaNameError
xatoligini qaytaradi.my_func2()
Argumentlar
def my_func2():
print('Bu funksiya')
NameError: name 'my_func2' is not defined
Biz hozirgacha ko'rib chiqqan barcha funksiyalar ta'riflari nol argumentlarning funksiyalari bo'lib, ular bo'sh qavslar bilan chaqirildi.
Biroq, aksariyat funksiyalar argumentlarni qabul qiladi.
Quyidagi misol bitta argumentni qabul qiladigan funksiyaga misol bo'ladi:def my_func(text):
Ko'rib turganingizdek, argument qavs ichida aniqlangan.
print(text + '!')
my_func('Python')
my_func('Java')
Python!
Java!
Bundan tashqari, funksiyalarni bir nechta argument bilan belgilashingiz mumkin.Ular vergul bilan ajratiladi.def my_func(x, y):
Funktsiya argumentlari funksiya ichidagi o'zgaruvchilar sifatida ishlatilishi mumkin. Biroq, ularga funksiya tashqarida murojaat qilish mumkin emas va bunday holatda dastur
print(x + y)
my_func('Salom ', 'dunyo')
my_func(3, 4)
Salom dunyo
7NameError
xatoligini qayatradi. Bu funksiya ichida yaratilgan boshqa o'zgaruvchilarga ham tegishli.def adding(number):
Funksiyalar biror qiymat qaytarishi uchun return operatoridan foydalaniladi.
number += 1
print(number)
print(number)
adding(5)
NameError: name 'number' is not defined
6def max(x, y):
⚠️ Return operatorini funksiyadan tashqarida ishlatish mumkin emas.
if x >= y:
return x
else:
return y
print(max(4, 7))
z = max(8, 5)
print(z)
7
8
Funksiyadan qiymatni qaytarganingizdan so'ng funksiya ishi to'xtatiladi va qaytarish operatori (return) dan keyingi yozilgan kodlar ishga tushirilmaydi.
Masalan:def add_numbers(x, y):
Funksiya izohi (Docstrings) kodni tushuntirish uchun mo'ljallangan va funksiya birinchi qatori ostiga qo'yish orqali hosil qilinadi.
total = x + y
return total
print("This won't be printed")
print(add_numbers(4, 5))
9
Funksiya izohi oddiy izohdan farqi dasturchiga ushbu sharhlarni ishlash vaqtida tekshirishga imkon beradi.
Rasmga qarang http://telegra.ph/file/5611c01b702a32c312dbe.jpg
Ular oddiy o'zgaruvchilardan farqli ravishda yaratilgan bo'lishiga qaramay, funksiyalar boshqa har qanday qiymatga o'xshaydi.
Ular o'zgaruvchilarga tayinlanishi va keyinchalik bu nom bilan murojaat qilish mumkin.def multiply(x, y):
Funksiyalar boshqa funksiyalarning argumentlari sifatida ham ishlatilishi mumkin.
return x * y
a = 4
b = 7
operation = multiply
print(operation(a, b))
28def add(x, y):
pass operatori
return x + y
def do_twice(func, x, y):
"""func(func(5, 10), func(5, 10)) = 30.
Demak funksiya 30 natijani qaytaradi."""
return func(func(x, y), func(x, y))
a = 5
b = 10
print(do_twice(add, a, b))
30
Funksiya tarkibi bo'sh bo'lishi mumkin emas, ammo agar siz biron sababga ko'ra tarkibsiz funktsiya ega bo'lsangiz, xatolikka yo'l qo'ymaslik uchun pass operatorini qo'ying.def myfunction():
@pythonuz
pass
print(myfunction())
None
BY Python dasturlash maktabi

Share with your friend now:
tgoop.com/pythonuz/526