Dari kursus: Pelatihan Esensial Python

Int dan float

- [Instruktur] Oke, mari kita kembali ke int dan float, dua jenis angka Python dasar, dan mari kita lihat apa yang terjadi ketika Anda menggunakannya bersama-sama, mengonversi di antara keduanya, dan bagaimana mewaspadai beberapa jebakan umum masing-masing. Jadi sebelumnya kita melihat contoh mengerjakan matematika dengan int dan mendapatkan float kembali. Jadi, 20 adalah bilangan bulat, empat sebagai bilangan bulat, tetapi kita mendapatkan kembali float ini, 5.0, dan Python mencoba untuk membantu di sini dan selalu mengembalikan float dari pembagian, karena ada potensi bilangan non-bulat untuk kembali. Demikian pula, jika kita menambahkan float dengan int, kita mendapatkan kembali float, dan hal yang sama berlaku untuk perkalian dan juga eksponen. 256. Dan kami ingin mengonversinya kembali ke int. Kita dapat menggunakan kelas int untuk melakukan itu. Jadi jika saya hanya mengambil 256 ini sebagai bilangan bulat. Sekarang perhatikan saya mengatakan kelas int, bukan fungsi, dan itu terlihat seperti fungsi, itu huruf kecil, tetapi int sebenarnya adalah kelas bawaan di Python. Dan Python semacam melanggar aturan kapitalisasi ini di sini, khususnya untuk kelas bawaannya. Jadi, untuk sebenarnya semua hal ini, string, int, float, list, ini semua adalah kelas. Jadi ketika Anda mengonversi dari satu tipe ke tipe lain, seperti di sini, saya mengonversi dari float ke int, ini disebut casting oleh programmer. Jadi saya melemparkan dari float 256 ke bilangan bulat 256. Jadi, casting ini cukup mudah, tapi bagaimana dengan katakanlah 8.9? Hmm, itu delapan. Bagaimana dengan 8.99999 dan kemudian beberapa sembilan lainnya. Sangat, sangat mendekati sembilan, tetapi itu masih bilangan bulat delapan. Jadi ketika Anda mentransmisikan dari float ke int, Python tidak membulatkan untuk Anda. Yang dilakukannya hanyalah memotong semuanya setelah tempat desimal. Int tidak memiliki tempat desimal, itu hanya membuang bagian itu. Jadi Anda harus benar-benar berhati-hati. Katakanlah, jika Anda melakukan sesuatu seperti ini, yang sangat mendekati lima, itu benar-benar akan membulatkan menjadi, bukan bulat, tetapi mengubahnya menjadi empat. Jika kita ingin membulatkannya ke bilangan bulat terdekat, kita dapat menggunakan fungsi round dan itu membuat Anda kembali lima. Juga, sebagai argumen, kita dapat meneruskan jumlah tempat desimal yang ingin kita bulatkan. Jadi, 4.67 dan itu benar-benar melakukan pembulatan untuk Anda. Jadi, mari kita lihat salah satu jebakan pelampung. Mari kita lakukan 1,2 dikurangi 1,0. Jadi saya seorang programmer, bukan matematikawan, tetapi itu tidak terlihat tepat bagi saya. Jadi apa yang terjadi di sini? Jika Anda melihat kembali 14 di atas 3, Anda akan melihat bahwa ini diwakili dengan 67 di akhir. Jadi ini, apa yang sebenarnya 14 di atas 3, adalah 4.6 berulang, tetapi representasi float-nya secara harfiah berakhir dengan 67. Float adalah perkiraan. Float disimpan sebagai biner satu dan nol dalam memori, dan hanya ada jumlah memori yang terbatas untuk menyimpannya, jadi Python menggunakan beberapa trik dan perkiraan dan ini kadang-kadang dapat mengakibatkan kesalahan pembulatan aneh yang menghasilkan hal semacam ini. Sekarang, jika Anda menggunakan fungsi round pada sesuatu seperti ini, Anda seharusnya baik-baik saja dan kita mungkin harus memberikannya beberapa tempat desimal, tetapi Anda harus sedikit berhati-hati dalam menggunakan float untuk alasan ini. Selanjutnya, kita akan melihat beberapa cara lain untuk menangani desimal, terutama dalam situasi di mana jumlah tempat desimal diketahui, seperti dengan uang.

Konten