Type Hinting Functions

Funksiyalarni Tip Izohlash

SU

Funksiyalarni Tip Izohlash

Funksiyalarni tip izohlash o‘zgaruvchilarga tip izohlashga o‘xshaydi. Asosiy farqi shundaki, siz funksiyalarga qaytish tipini ham qo‘shishingiz mumkin.

Quyidagi misolda adder() funksiyasi ikkita int tipidagi argumentni qabul qiladi va None tipida qiymat qaytaradi:

1 def adder(x: int, y: int) -> None:
2     print(f'The total of {x} + {y} = {x+y}')

Bu misol adder() funksiyasining ikkita int tipidagi argumentni qabul qilishini va funksiyaning qaytish tipi None ekanligini ko‘rsatadi. -> operatori yordamida qaytish turini belgilaysiz, bu operator yopilish qavsidan so‘ng va kolon belgisidan oldin joylashadi.

Agar siz adder() funksiyasini bir o‘zgaruvchiga tayinlamoqchi bo‘lsangiz, o‘zgaruvchini Callable tipida izohlashingiz mumkin:

1 from typing import Callable
3 def adder(x: int, y: int) -> None:
4     print(f'The total of {x} + {y} = {x+y}')
2
5
6 a: Callable[[int, int], None] = adder

Callable funksiyaning argumentlari ro‘yxatini qabul qiladi va uning qaytish tipini belgilash imkonini beradi.

Endi yanada murakkab argumentlar bilan ishlashni ko‘rib chiqamiz:

1 from typing import Tuple, Optional
2
3
4 def some_func(x: int,
5                y: Tuple[str, str],
6                z: Optional[float] = None) -> Optional[str]:
7     if x > 10:
8         return None
9     return 'You called some_func'

Bu misolda some_func() funksiyasi uchta argumentni qabul qiladi:

  • int turidagi qiymat
  • str tipidagi ikkita elementdan iborat Tuple
  • Optional[float] tipidagi qiymat (va bu parametr None bo‘lishi mumkin)

Funksiyada None yoki str turidagi qiymat qaytariladi.

Funksiyalarda standart qiymatlar ishlatilganda, tip izohlashda tenglik belgisidan oldin va keyin bo‘shliq qo‘yish kerakligini unutmang.

Endi yanada murakkab holatlar uchun qanday izohlashni o‘rganamiz!

Last updated on

On this page

Xato haqida xabar berish