Mga Uri sa Python

Mga Uri sa Python

Ipinaliliwanag ng artikulong ito ang mga uri sa Python.

YouTube Video

Mga Uri sa Python

Ang typing na module sa Python ay ginagamit upang ipasok ang mga type hint sa Python. Una itong ipinakilala sa Python 3.5 at ginagamit upang mapahusay ang pagkanalilito at pagkapanatilihin ng code. Ang mga type hint ay hindi nakakaapekto sa runtime ng code ngunit nagbibigay-daan para sa pagsuri ng uri gamit ang mga IDE at tool sa static analysis.

Mga Batayan ng Type Hints

Ang mga type hint ay nagpapalinaw sa layunin ng code sa pamamagitan ng tahasang pagtiyak sa mga uri ng mga function at variable. Sa halimbawa sa ibaba, ang mga uri ay ipinapahayag para sa mga argumento at resulta.

1def add_numbers(a: int, b: int) -> int:
2    return a + b
3
4result: int = add_numbers(5, 10)
5print(result)  # 15

Sa code sa itaas, ang a at b ay may uri ng integer (int), at ang resulta ng function ay tahasang tinukoy din bilang isang integer. Kahit na may type hints, hindi mahigpit na ipapatupad ang mga uri, ngunit maaaring magpakita ng mga babala sa panahon ng pag-develop kung may mga hindi pagtutugma ng uri.

Pangunahing Type Hints

Nagbibigay ang typing na module sa Python ng iba't ibang klase at function upang tukuyin ang mga type hint. Nasa ibaba ang isang listahan ng mga karaniwang type hint.

  • int: integer
  • str: string
  • float: floating-point number
  • bool: boolean
  • List: listahan
  • Dict: diksyonaryo
  • Tuple: tuple
  • Set: set

Uri ng List

Ang uri ng listahan ay tinutukoy gamit ang klase na List. Maaari mo ring tahasang tukuyin ang uri ng mga elemento sa loob ng isang listahan.

1from typing import List
2
3def sum_list(numbers: List[int]) -> int:
4    return sum(numbers)
5
6print(sum_list([1, 2, 3]))  # 6

Sa halimbawa na ito, inaasahang ang lahat ng elemento ng listahan ay may uri na int.

Uri ng Dict

Ang uri ng diksyunaryo ay tinutukoy gamit ang Dict. Maaaring tukuyin ang uri ng mga susi at mga halaga.

1from typing import Dict
2
3def get_student_age(students: Dict[str, int], name: str) -> int:
4    return students.get(name, 0)
5
6students = {"Alice": 23, "Bob": 19}
7print(get_student_age(students, "Alice"))  # 23

Sa halimbawa na ito, ang diksyunaryo ay gumagamit ng str bilang uri ng susi at int bilang uri ng halaga.

Uri ng Tuple

Ang mga tuple ay tinutukoy gamit ang uri ng Tuple. Maaari mong tukuyin ang uri ng bawat elemento sa tuple nang isa-isa.

1from typing import Tuple
2
3def get_person() -> Tuple[str, int]:
4    return "Alice", 30
5
6name, age = get_person()
7print(name, age)  # Alice 30

Dito, ang function na get_person ay nagpapakita na nagbabalik ng isang tuple na naglalaman ng isang string at isang integer.

Uri ng Union

Ang uri ng Union ay ginagamit upang tahasang ipakita na tinatanggap ang maraming uri.

1from typing import Union
2
3def process_value(value: Union[int, float]) -> float:
4    return value * 2.0
5
6print(process_value(10))  # 20.0
7print(process_value(3.5))  # 7.0

Sa halimbawa na ito, ang function na process_value ay tumatanggap ng alinman sa int o float bilang argumento at nagbabalik ng resulta na may uri na float.

Uri ng Optional

Ang uri ng Optional ay ginagamit kapag ang isang variable ay maaaring None. Ito ay ibinibigay bilang pinaikling paraan para sa Union[Type, None].

1from typing import Optional
2
3def greet(name: Optional[str] = None) -> str:
4    if name is None:
5        return "Hello, Guest!"
6    return f"Hello, {name}!"
7
8print(greet())  # Hello, Guest!
9print(greet("Alice"))  # Hello, Alice!

Dito, ipinapakita na kapag ang name ay hindi tinukoy, ito ay ituturing bilang None.

Mga Pangkalahatang Uri

Ang mga pangkalahatang uri ay isang paraan upang abstrakto na kumatawan sa kung anong uri ng elemento ang nilalaman ng isang istruktura ng datos. Sa module na typing, maaari kang magtukoy ng mga pangkalahatang uri gamit ang TypeVar.

1from typing import TypeVar, List
2
3T = TypeVar('T')
4
5def get_first_element(elements: List[T]) -> T:
6    return elements[0]
7
8print(get_first_element([1, 2, 3]))  # 1
9print(get_first_element(["a", "b", "c"]))  # a

Sa halimbawa na ito, ang get_first_element ay isang function na nagbabalik ng unang elemento ng isang listahan, at gumagana ito anuman ang uri ng listahan.

Mga Alias ng Uri

Ang alias ng uri ay isang paraan upang gawing simple ang mga kumplikadong kahulugan ng uri sa pamamagitan ng pagbibigay ng malinaw na pangalan.

1from typing import List, Tuple
2
3Coordinates = List[Tuple[int, int]]
4
5def get_coordinates() -> Coordinates:
6    return [(0, 0), (1, 1), (2, 2)]
7
8print(get_coordinates())  # [(0, 0), (1, 1), (2, 2)]

Sa halimbawa na ito, ang isang alias ng uri na Coordinates ay tinukoy upang kumatawan lamang sa isang uri na may mga tuple sa loob ng isang listahan.

Buod

Ang typing na module sa Python ay lubhang kapaki-pakinabang para mapabuti ang kalinawan at kakayahang mapanatili ang code. Sa pamamagitan ng wastong paggamit ng type hints, matutulungan mong maiwasan ang mga uri ng pagkakamali at mga bug, lalo na sa malakihang proyekto o team development. Ang mga uri ay isang kasangkapan lamang para sa suporta ng pag-develop at hindi nakakaapekto sa takbo ng programa, kaya nananatili ang kakayahang umangkop ng code.

Maaari mong sundan ang artikulo sa itaas gamit ang Visual Studio Code sa aming YouTube channel. Paki-check din ang aming YouTube channel.

YouTube Video