Konversi Jenis Python dan Pengecoran Jenis
Konversi Jenis Python dan Pengecoran Jenis
Dalam artikel ini, Anda akan mempelajari tentang konversi Jenis dan penggunaan konversi jenis.
Sebelum mempelajari Konversi Tipe dengan Python, Anda harus memiliki pengetahuan tentang Tipe Data Python.
Konversi Jenis
Proses konversi nilai dari satu tipe data (integer, string, float, dll) ke tipe data lain disebut konversi tipe. Python memiliki dua jenis konversi tipe.
- Konversi Jenis Implisit
- Konversi Jenis Eksplisit
Konversi Jenis Implisit
Dalam konversi tipe implisit, Python secara otomatis mengonversi satu tipe data ke tipe data lain. Proses ini tidak memerlukan keterlibatan pengguna.
Mari kita lihat contoh di mana Python mempromosikan konversi tipe data yang lebih rendah (bilangan bulat) ke tipe data yang lebih tinggi (float) untuk menghindari kehilangan data.
Contoh 1:Mengubah bilangan bulat menjadi float
num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))
print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))
Ketika kita menjalankan program di atas, outputnya adalah:
datatype of num_int: <class 'int'>
datatype of num_flo: <class 'float'>
Value of num_new: 124.23
datatype of num_new: <class 'float'>
Pada program di atas,
- Kami menambahkan dua variabel num_int dan num_flo , menyimpan nilai di num_new .
- Kita akan melihat tipe data dari ketiga objek secara berurutan.
- Pada output, kita dapat melihat tipe data num_int adalah
integer
sedangkan tipe data num_flo adalah float
.
- Juga, kita dapat melihat num_new memiliki
float
tipe data karena Python selalu mengonversi tipe data yang lebih kecil ke tipe data yang lebih besar untuk menghindari hilangnya data.
Sekarang, mari kita coba menambahkan string dan integer, dan lihat bagaimana Python menanganinya.
Contoh 2:Penambahan tipe data string(lebih tinggi) dan tipe data integer(rendah)
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str:",type(num_str))
print(num_int+num_str)
Ketika kita menjalankan program di atas, outputnya adalah:
Data type of num_int: <class 'int'>
Data type of num_str: <class 'str'>
Traceback (most recent call last):
File "python", line 7, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Pada program di atas,
- Kami menambahkan dua variabel num_int dan num_str .
- Seperti yang kita lihat dari output, kita mendapatkan
TypeError
. Python tidak dapat menggunakan Konversi Implisit dalam kondisi seperti itu.
- Namun, Python memiliki solusi untuk situasi seperti ini yang dikenal sebagai Konversi Eksplisit.
Konversi Jenis Eksplisit
Dalam Konversi Tipe Eksplisit, pengguna mengonversi tipe data suatu objek ke tipe data yang diperlukan. Kami menggunakan fungsi yang telah ditentukan sebelumnya seperti int()
, float()
, str()
, dll untuk melakukan konversi tipe eksplisit.
Jenis konversi ini juga disebut typecasting karena pengguna mentransmisikan (mengubah) tipe data objek.
Sintaks :
<required_datatype>(expression)
Typecasting dapat dilakukan dengan menetapkan fungsi tipe data yang diperlukan ke ekspresi.
Contoh 3:Penambahan string dan integer menggunakan konversi eksplisit
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str before Type Casting:",type(num_str))
num_str = int(num_str)
print("Data type of num_str after Type Casting:",type(num_str))
num_sum = num_int + num_str
print("Sum of num_int and num_str:",num_sum)
print("Data type of the sum:",type(num_sum))
Ketika kita menjalankan program di atas, outputnya adalah:
Data type of num_int: <class 'int'>
Data type of num_str before Type Casting: <class 'str'>
Data type of num_str after Type Casting: <class 'int'>
Sum of num_int and num_str: 579
Data type of the sum: <class 'int'>
Pada program di atas,
- Kami menambahkan num_str dan num_int variabel.
- Kami mengonversi num_str dari tipe string (lebih tinggi) ke integer (lebih rendah) menggunakan
int()
berfungsi untuk melakukan penjumlahan.
- Setelah mengonversi num_str ke nilai integer, Python dapat menambahkan dua variabel ini.
- Kami mendapatkan num_sum nilai dan tipe data menjadi bilangan bulat.
Poin Penting untuk Diingat
- Konversi Tipe adalah konversi objek dari satu tipe data ke tipe data lainnya.
- Konversi Jenis Implisit secara otomatis dilakukan oleh interpreter Python.
- Python menghindari hilangnya data dalam Konversi Jenis Implisit.
- Konversi Tipe Eksplisit juga disebut Pengecoran Tipe, tipe data objek dikonversi menggunakan fungsi yang telah ditentukan sebelumnya oleh pengguna.
- Dalam Type Casting, kehilangan data dapat terjadi saat kami menerapkan objek ke tipe data tertentu.