Rumah > Artikel > pembangunan bahagian belakang > Hantaran Jenis Hari dalam Python: Penukaran Eksplisit vs. Tersirat | Python Hari
Hari 6: Pembolehubah dan Jenis Data | Python 100 Hari
Hari #7 cabaran 100 Hari Kod membawa kita ke dalam konsep Jenis Casting dalam Python. Bagi kebanyakan pembangun baharu, penghantaran jenis mungkin kelihatan seperti topik yang rumit. Walau bagaimanapun, dengan sedikit penerokaan, anda akan melihat ia adalah alat penting dan mudah yang boleh meningkatkan cara anda mengendalikan pembolehubah dan data. Catatan blog ini akan merangkumi asas penghantaran jenis, sebab ia perlu dan cara membezakan antara penukaran jenis eksplisit dan tersirat.
Penghantaran jenis, atau penukaran jenis, merujuk kepada menukar pembolehubah daripada satu jenis data kepada yang lain dalam Python. Contohnya, jika anda mempunyai pembolehubah yang mengandungi nombor rentetan, seperti "27", anda mungkin perlu menukarnya kepada integer sebelum melakukan operasi aritmetik. Jika tidak, Python akan mentafsir "27" sebagai rentetan dan menambahkannya pada rentetan lain dan bukannya melakukan aritmetik.
Mari kita lihat contoh di mana kita cuba menambah nombor rentetan dengan integer.
# Example of Type Casting a = "23" # This is a string b = 3 # This is an integer # Direct addition without casting result = a + str(b) # This would concatenate instead of adding numerically print(result) # Output: "233"
Jika anda mahu hasilnya menjadi 26, anda akan menukar "23" daripada rentetan kepada integer dahulu.
Python, seperti kebanyakan bahasa pengaturcaraan, adalah sensitif jenis. Jika rentetan dianggap seperti integer atau sebaliknya tanpa penukaran yang betul, ia boleh membawa kepada hasil yang tidak dijangka atau ralat. Dengan penghantaran jenis, anda memberitahu Python untuk mentafsir data dengan cara tertentu, memastikan hasil yang tepat dan bertujuan.
Python menyediakan dua jenis tuangan jenis:
Penukaran eksplisit memerlukan anda menggunakan fungsi Python terbina dalam untuk menukar nilai daripada satu jenis kepada jenis yang lain secara manual. Apabila anda menentukan penghantaran jenis eksplisit, anda mempunyai kawalan penuh ke atas jenis data yang anda inginkan.
Berikut ialah contoh pemutus jenis eksplisit, dengan kedua-dua a dan b ditukar daripada rentetan kepada integer sebelum ditambahkan:
a = "1" # String b = "2" # String # Explicitly converting a and b to integers result = int(a) + int(b) print(result) # Output: 3
Dalam contoh ini, a dan b ditukar secara eksplisit kepada integer menggunakan fungsi int(), menjadikan penambahan berfungsi seperti yang diharapkan.
Penghantaran jenis eksplisit dilakukan mengikut keperluan dan mengelakkan ketidakpadanan jenis dalam Python.
Dalam penghantaran jenis tersirat, Python mengendalikan penukaran jenis data secara automatik. Proses ini biasanya berlaku apabila jenis yang berbeza perlu digunakan bersama dalam ungkapan. Python menukar jenis ketepatan yang lebih rendah kepada jenis ketepatan yang lebih tinggi untuk mengelakkan kehilangan data.
Sebagai contoh, jika anda menambah integer pada float, Python akan menukar integer kepada float secara automatik sebelum melakukan penambahan:
# Example of Type Casting a = "23" # This is a string b = 3 # This is an integer # Direct addition without casting result = a + str(b) # This would concatenate instead of adding numerically print(result) # Output: "233"
Dalam contoh ini, Python menukarkan d secara automatik daripada integer kepada apungan untuk memadankan c. Proses ini dipanggil pemutus jenis tersirat dan membantu memastikan operasi berjalan lancar tanpa memerlukan campur tangan manual.
Walau bagaimanapun, sentiasa pastikan penukaran anda adalah logik. Contohnya, cuba menukar rentetan seperti "Saim" kepada integer akan menimbulkan ralat kerana data tidak mewakili nombor yang sah.
Python menyediakan beberapa fungsi terbina dalam untuk pemutus jenis eksplisit. Berikut ialah gambaran ringkas:
Function | Description |
---|---|
int() | Converts data to an integer type |
float() | Converts data to a floating-point number |
str() | Converts data to a string |
ord() | Converts a character to its Unicode integer |
hex() | Converts an integer to a hexadecimal string |
oct() | Converts an integer to an octal string |
tuple() | Converts data to a tuple |
set() | Converts data to a set |
list() | Converts data to a list |
dict() | Converts data to a dictionary |
Fungsi ini boleh membantu dalam menukar antara jenis data yang berbeza dalam Python mengikut keperluan.
Cuba latihan mudah ini untuk mengamalkan tuangan jenis eksplisit. Tulis atur cara yang mengambil dua nombor rentetan, menukarkannya kepada integer dan menghasilkan jumlahnya.
# Example of Type Casting a = "23" # This is a string b = 3 # This is an integer # Direct addition without casting result = a + str(b) # This would concatenate instead of adding numerically print(result) # Output: "233"
Output yang dijangkakan: Jumlah kedua-dua nombor ialah 32
Penghantaran jenis ialah konsep penting dalam Python, membolehkan anda menukar jenis data sama ada secara manual (secara eksplisit) atau automatik (secara tersirat). Sama ada anda membersihkan input pengguna, memformat data untuk pengiraan atau mengoptimumkan prestasi kod, memahami penyiaran taip membantu meningkatkan kebolehpercayaan dan kebolehbacaan kod. Penghantaran eksplisit didorong oleh pembangun dan digunakan apabila ketepatan adalah kritikal, manakala penghantaran tersirat membantu Python mengendalikan jenis data bercampur dengan lancar.
Tanda halaman blog ini untuk melawat semula taip apabila anda memerlukan penyegar semula, dan nantikan lebih lanjut tentang pengaturcaraan Python dalam siaran seterusnya!
Beli saya Kopi
Atas ialah kandungan terperinci Hantaran Jenis Hari dalam Python: Penukaran Eksplisit vs. Tersirat | Python Hari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!