Tipe dalam Python
Artikel ini menjelaskan tipe dalam Python.
YouTube Video
Tipe dalam Python
Modul typing
dalam Python digunakan untuk memperkenalkan petunjuk tipe ke dalam Python. Modul ini pertama kali diperkenalkan di Python 3.5 dan digunakan untuk meningkatkan keterbacaan dan pemeliharaan kode. Petunjuk tipe tidak memengaruhi runtime kode tetapi memungkinkan pemeriksaan tipe dengan IDE dan alat analisis statis.
Dasar-Dasar Petunjuk Tipe
Petunjuk tipe memperjelas maksud kode dengan secara eksplisit menentukan tipe fungsi dan variabel. Dalam contoh di bawah ini, tipe ditentukan untuk argumen dan nilai yang dikembalikan.
1def add_numbers(a: int, b: int) -> int:
2 return a + b
3
4result: int = add_numbers(5, 10)
5print(result) # 15
Dalam kode di atas, a
dan b
adalah tipe integer (int
), dan nilai pengembalian fungsi juga secara eksplisit dinyatakan sebagai integer. Meskipun menggunakan petunjuk tipe, tipe tidak diterapkan secara ketat, tetapi peringatan dapat ditampilkan selama pengembangan jika ada ketidaksesuaian tipe.
Petunjuk Tipe Utama
Modul typing
dalam Python menyediakan berbagai kelas dan fungsi untuk mendefinisikan petunjuk tipe. Berikut adalah daftar petunjuk tipe yang umum.
int
: bilangan bulatstr
: stringfloat
: bilangan pecahanbool
: booleanList
: daftarDict
: kamusTuple
: tupleSet
: set
Tipe List
Tipe daftar ditentukan menggunakan kelas List
. Anda juga dapat secara eksplisit menentukan tipe elemen dalam sebuah daftar.
1from typing import List
2
3def sum_list(numbers: List[int]) -> int:
4 return sum(numbers)
5
6print(sum_list([1, 2, 3])) # 6
Dalam contoh ini, semua elemen dalam daftar diharapkan memiliki tipe int
.
Tipe Dict
Tipe kamus didefinisikan menggunakan Dict
. Tipe kunci dan nilai dapat ditentukan.
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
Dalam contoh ini, kamus menggunakan str
sebagai tipe kunci dan int
sebagai tipe nilai.
Tipe Tuple
Tuple ditentukan menggunakan tipe Tuple
. Anda dapat menentukan tipe setiap elemen dalam tuple secara individu.
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
Di sini, fungsi get_person
ditunjukkan mengembalikan sebuah tuple yang berisi sebuah string dan sebuah integer.
Tipe Union
Tipe Union
digunakan untuk secara eksplisit menunjukkan bahwa beberapa tipe dapat diterima.
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
Dalam contoh ini, fungsi process_value
menerima argumen berupa int
atau float
dan mengembalikan hasil bertipe float
.
Tipe Optional
Tipe Optional
digunakan ketika sebuah variabel mungkin bernilai None
. Ini disediakan sebagai singkatan untuk 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!
Di sini, ditunjukkan bahwa ketika name
tidak ditentukan, itu dianggap sebagai None
.
Tipe Generik
Tipe generik adalah cara untuk secara abstrak merepresentasikan tipe elemen yang dimiliki oleh sebuah struktur data. Dalam modul typing
, Anda dapat mendefinisikan tipe generik menggunakan 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
Dalam contoh ini, get_first_element
adalah sebuah fungsi yang mengembalikan elemen pertama dari sebuah daftar, dan berfungsi terlepas dari tipe daftar tersebut.
Alias Tipe
Alias tipe adalah cara untuk menyederhanakan definisi tipe yang kompleks dengan memberikan nama yang jelas.
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)]
Dalam contoh ini, alias tipe Coordinates
didefinisikan untuk merepresentasikan tipe dengan tuple di dalam sebuah daftar.
Ringkasan
typing
module dalam Python sangat berguna untuk meningkatkan keterbacaan dan pemeliharaan kode. Dengan menggunakan type hints secara tepat, Anda dapat membantu mencegah ketidaksesuaian tipe dan bug, terutama dalam proyek skala besar atau pengembangan tim. Tipe hanya merupakan alat pendukung pengembangan dan tidak memengaruhi perilaku runtime, sehingga fleksibilitas kode tetap terjaga.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.