Collection Type Hinting

Kolleksiya Turlarini Izohlash

SU

Kolleksiya Turlarini Izohlash

Kolleksiya — bu Python'da elementlar to‘plami. Eng keng tarqalgan kolleksiya yoki ketma-ketliklar ro‘yxat (list), lug‘at (dict), juftlik (tuple) va to‘plam (set)lardir. Biroq, bu ichki turlarni bevosita o‘zgaruvchilarni izohlashda ishlatish mumkin emas. Buning o‘rniga typing modulidan foydalanish kerak.

Quyidagi misollarni ko‘rib chiqamiz:

Ro‘yxatlar (List)

1 >>> from typing import List
2 >>> names: List[str] = ['Mike']
3 >>> names
4 ['Mike']

Bu misolda ro‘yxat ichida bitta str turidagi element yaratildi. Bu ro‘yxat faqat string tipidagi elementlardan iborat bo‘lishini bildiradi.

Agar ro‘yxatning o‘lchami doimo bir xil bo‘lsa, har bir elementning tipini belgilashingiz mumkin:

1 >>> from typing import List
2 >>> names: List[str, str] = ['Mike', 'James']

Juftliklar (Tuple)

Juftliklarni izohlash ham o‘xshash tarzda amalga oshiriladi:

1 >>> from typing import Tuple
2 >>> s: Tuple[int, float, str] = (5, 3.14, 'hello')

Bu misolda Tuple ichida bir nechta turdagi elementlar, ya'ni int, float, va str mavjud.

Lug‘atlar (Dict)

Lug‘atlarda esa, kalit va qiymat turlarini izohlash zarur:

1 >>> from typing import Dict
2 >>> d: Dict[str, int] = {'one': 1}

Bu misolda Dict ichida kalitlar str tipida, qiymatlar esa int tipida bo‘lishi kerak.

O‘lchami o‘zgarmas Kolleksiyalar

Agar kolleksiya o‘lchamining o‘zgarishini kutayotgan bo‘lsangiz, ellipslarni (...) ishlatishingiz mumkin:

1 >>> from typing import Tuple
2 >>> t: Tuple[int, ...] = (4, 5, 6)

Bu misolda Tuple o‘lchami mos ravishda o‘zgarishi mumkin, ammo har bir element int tipida bo‘ladi.

Endi, agar bir element None tipida bo‘lsa, qanday izohlashni o‘rganamiz!

Last updated on

On this page

Xato haqida xabar berish