முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 9 · பாடம் 1 இன் 4பாடத்திட்டத்தில் 33/36~12 min
தொகுதி பாடங்கள் (1/4)

வகை குறிப்புகள்: சிறுகுறிப்பு வகைகள்

வகை குறிப்புகள் (வகை சிறுகுறிப்புகள்) விருப்ப அறிவிப்புகள் என்று கூறுகின்றன "இந்த மாறி/அளவுருவில் X வகை உள்ளது". இயக்க நேரத்தில் பைதான் அவற்றைச் சரிபார்க்கவில்லை: அவை உங்களுக்காக, உங்கள் எடிட்டர் (தானியங்கி!) மற்றும் mypy போன்ற கருவிகள் அல்லது நிலையான வகை சரிபார்ப்பைச் செய்யும் பைரைட்.

சிறுகுறிப்பு மாறிகள்

Python
nome: str = "Ada"
anni: int = 36
attivo: bool = True
prezzi: list[float] = [1.2, 3.4]

தொடரியல் name: type = value. மதிப்பு இல்லாமல் அது ஒரு தூய அறிவிப்பு:

Python
risultato: int  # nessuna assegnazione, solo "annuncio del tipo"

செயல்பாடுகளை விளக்குகிறது

Python
def saluta(nome: str, urlante: bool = False) -> str:
    s = f"Ciao {nome}"
    return s.upper() if urlante else s

def somma(numeri: list[int]) -> int:
    return sum(numeri)

தொடரியல்: ஒவ்வொரு அளவுருவிற்கும் param: type, திரும்புவதற்கு -> type. எதையும் வழங்காத செயல்பாடு -> None ஐப் பயன்படுத்துகிறது.

உள்ளமைக்கப்பட்ட பொதுவான வகைகள் (பைதான் 3.9+)

Python
nomi: list[str] = ["a", "b"]
mappa: dict[str, int] = {"x": 1}
coppia: tuple[int, str] = (1, "ok")
unici: set[int] = {1, 2, 3}

விருப்ப மற்றும் ஒன்றியம்

None ஆக இருக்கும் மதிப்பு:

Python
def trova_utente(id: int) -> str | None:
    if id == 1:
        return "Ada"
    return None

X | None என்பது நவீன தொடரியல் (பைதான் 3.10+). சமமானவை: Optional[X] இலிருந்து typing. பல வகையான தொழிற்சங்கங்களுக்கு: int | str | float.

தட்டச்சு: பயனுள்ள கருவிகள்

Python
from typing import Any, Callable

def applica(f: Callable[[int], int], x: int) -> int:
    return f(x)

valore: Any = "qualunque cosa"  # disabilita il check
  • Any = "சரிபார்க்க வேண்டாம்" (குறைவாகப் பயன்படுத்தவும்).
  • Callable[[arg1, arg2], return] = அந்த அளவுருக்களை எடுத்து அந்த வகையை வழங்கும் செயல்பாடு.

mypy: வகை சரிபார்ப்பு

நீங்கள் mypy ஐ நிறுவி, mypy file.py ஐ இயக்கவும், வகைகள் வரிசையாக உள்ளதா என்பதை இது உங்களுக்குக் கூறுகிறது:

Bash
$ mypy script.py
script.py:5: error: Argument 1 to "somma" has incompatible type "str"; expected "int"

mypy மூலம் வகைகளைச் சரிபார்க்கிறது

பைத்தானின் வகை குறிப்புகள் மொழிபெயர்ப்பாளரால் இயக்க நேரத்தில் செயல்படுத்தப்படுவதில்லை; செயல்படுத்தும் போது அவை புறக்கணிக்கப்படுகின்றன. சரியான வகையைச் சரிபார்க்க, உங்கள் முனையத்தில் mypy script.py கட்டளையை இயக்குவதன் மூலம் mypy போன்ற வெளிப்புற நிலையான பகுப்பாய்வுக் கருவியை இயக்க வேண்டும்.

நீங்களே முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#python.m9.l1.e1
முயற்சிகள்: 0ஏற்றுகிறது…

ஒவ்வொரு உறுப்புக்கும் 2 ஆல் பெருக்கப்படும் பட்டியலை வழங்கும் `double(numbers: list[int]) -> list[int]` செயல்பாட்டை வரையறுக்கவும். அதை [1, 2, 3] உடன் அழைத்து `r` க்கு ஒதுக்கவும். `r` மதிப்பிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

ஒரு பட்டியல் புரிதல் அல்லது a for loop ஐப் பயன்படுத்தவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#python.m9.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

வரையறுக்கவும் `first_or_none(items: list[int]) -> int | பட்டியல் காலியாக இல்லாவிட்டால், முதல் உறுப்பை வழங்கும் எதுவும் இல்லை, இல்லையெனில் எதுவும் இல்லை. `a = first_or_none([10, 20])` மற்றும் `b = first_or_none([])` ஆகியவற்றை ஒதுக்கவும். `(a, b)` மதிப்பிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

பட்டியல் காலியாக இல்லாதபோது `உருப்படிகள்` உண்மையாக இருக்கும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

கூடுதல் சவால்

உடற்பயிற்சி#python.m9.l1.e3
முயற்சிகள்: 0ஏற்றுகிறது…

Write a function `double_value(n: int) -> int` that takes an integer, multiplies it by 2, and returns the result. Make sure to specify type hints for both the parameter and the return value. Finally, evaluate `double_value(5)`.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

n: int ஐ அளவுருவாகவும் மற்றும் -> int செயல்பாடு கையொப்பத்திற்குப் பிறகு பயன்படுத்தவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்