Bahasa Python - Konversi Tipe Fungsi

Python juga menyediakan fungsi built-in yang mengubah nilai dari satu jenis ke tipe lainnya. Jadi bermacam-macam hal yang kita sudah bahas sejauh ini termasuk tipe konversi. Ketika Anda meletakkan integer dan floating point dalam ekspresi, integer adalah implisit dikonversi ke float. Anda dapat mengontrol ini dengan fungsi int () dan float ():

>>>print float(99)/100
0.99
>>>i = 42
>>>type(i)
<class ‘int’>
>>>f = float(i)
>>>print(f)
42.0
>>>type(f)
<class ‘float’>
>>>print(1 + 2* float(3) / 4 – 5)
-2.5
>>>

Kita lanjut pembahasannya. Misal fungsi int() misalnya mengambil nilai apa pun dan mengonversinya ke integer int[data], jika bisa, atau sebaliknya terjadi komplain misal:

>>> int('32')
32
>>> int('Hello')
ValueError: invalid literal for int() with base 10: 'Hello'

Int dapat mengonversi nilai floating-point ke integer, tetapi tidak membulatkan; memotong bagian pecahan, bisa digunakan untuk mendapatkan pembulatan kebawah dari suatu tipe data, dimana hasil pembulatan itu adalah integer:

>>> int(3.99999)
3
>>> int(-2.3)
-2

Float() mengkonversi bilangan bulat (integer) dan string ke bilangan floating-point atau untuk mengubah data kedalam tipe data float:

>>> float(32)
32.0
>>> float('3.14159')
3.14159

Complex() mengubah data kedalam tipde data complex yang bentuknya complex[data_rel[,data_imajiner]]:

>>>complex(32)
(32+0j)
>>>complex(32, 0)
(32+0j)

Akhirnya, str mengubah argumennya menjadi string:

>>> str(32)
'32'
>>> str(3.14159)
'3.14159'

Untuk konversi string, Anda juga dapat menggunakan int () dan float () untuk mengkonversi antara string dan integer. Anda akan mendapatkan error jika string tidak mengandung karakter numeric. Kita sudah menggunakan int() dan float() untuk melakukan sesuatu seperti membaca “things in” karena input sebagai fungsi tapi itu selalu memberi kita kembali sebuah string. Kita mungkin menggunakan ini sebagai angka. Jadi string 1-2-3 tidak sama dengan 123 karena itu adalah string. Mis:

>>> sval = ‘123’
>>> type(sval)
<class ‘str’>
>>> print(sval + 1)
Traceback (most recent call last):
  File “<stdin>”, line 1, in <module>
TypeError: cannot concatenate ‘str’
and ‘int’

Jadi disini kita mendapatkan traceback karena kita tidak bisa menggabungkan string dan integer hanya karena mereka tipe yang salah. Tetapi jika kita mengambil 123 yang sama ini, dan inilah kode kecil yang disebut fungsi int(). Kita lewati sval in, yang merupakan string 1-2-3 dan kita mendapatkan kembali integer itu menggantikan in fungsi dan kemudian 123 integer dimasukkan ke ival. Apa yang akan terjadi?

>>> ival = int(sval)
>>> type(ival)
<class ‘int’>
>>> print(ival + 1)
124

Ya hasilnya adalah bilangan bulat. Kita dapat menambahkan 1 dan mendapatkan 124.