Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menentukan sama ada Pembolehubah ialah Integer dalam Python?
Dalam Python, mengesahkan sama ada pembolehubah ialah integer boleh menjadi penting untuk pelbagai operasi. Begini cara anda boleh menentukan status integer pembolehubah:
Menggunakan Fungsi isinstance:
Jika anda perlu menyemak sama ada pembolehubah () adalah integer, gunakan fungsi isinstance:
isinstance(<var>, int)
Jika anda bekerja dengan Python 2.x, anda perlu menentukan kedua-dua jenis int dan long:
isinstance(<var>, (int, long))
Awas: Elakkan Menggunakan jenis
Elakkan daripada menggunakan jenis untuk mengesahkan jenis pembolehubah dalam Python. Ia sering menghasilkan keputusan yang tidak tepat, terutamanya apabila berurusan dengan subkelas. Pertimbangkan contoh berikut:
class Spam(int): pass x = Spam(0) type(x) == int # False isinstance(x, int) # True
Dalam kes ini, fungsi jenis salah mengenal pasti pembolehubah x sebagai bukan integer, manakala isinstance mengenalinya dengan betul sebagai integer.
Pendekatan Pythonic: "Minta Pengampunan, Bukan Kebenaran"
Falsafah Python pada umumnya lebih mengutamakan pengendalian pengecualian daripada melakukan pemeriksaan jenis yang ketat. Dengan mengandaikan pembolehubah ialah integer dan mengendalikan sebarang pengecualian yang terhasil boleh menjadi lebih cekap:
try: x += 1 except TypeError: ...
Pendekatan ini mengurangkan semakan yang tidak perlu dan memastikan kod ringkas.
Pertimbangan Tambahan: Asas Abstrak Kelas
Penyelesaian yang lebih mantap ialah menggunakan kelas asas abstrak (ABC) untuk menentukan sifat khusus yang diperlukan untuk objek anda. Dengan mewarisi daripada ABC, anda boleh memastikan bahawa objek mempunyai atribut yang sesuai untuk operasi yang diingini. Walau bagaimanapun, pendekatan ini memerlukan pengetahuan tentang ABC dan mungkin lebih kompleks daripada yang diperlukan untuk semakan jenis pembolehubah mudah.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Pembolehubah ialah Integer dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!