Mengesahkan Rentetan Integer Tanpa Cuba/Kecuali
Apabila bekerja dengan rentetan, selalunya perlu untuk menentukan sama ada rentetan mewakili integer. Secara tradisinya, ini telah dicapai menggunakan mekanisme cuba/kecuali untuk mencuba penukaran integer dan mengendalikan pengecualian jika gagal. Walau bagaimanapun, terdapat pendekatan alternatif yang mengelakkan overhed pengendalian pengecualian.
isdigit untuk Integer Positif
Untuk integer positif, fungsi Python .isdigit() boleh digunakan . Ia mengembalikan Benar jika rentetan hanya terdiri daripada digit dan Palsu sebaliknya:
>>> '16'.isdigit() True
Integer Negatif dengan Semak Awalan
Pendekatan ini tidak berfungsi untuk integer negatif. Untuk mengendalikannya, anda boleh menyemak awalan sempang dan kemudian menguji sama ada aksara yang tinggal ialah digit:
>>> s = '-17' >>> s.startswith('-') and s[1:].isdigit() True
Mengendalikan Mata Perpuluhan
Kaedah di atas gagal semasa mengendalikan rentetan yang mengandungi titik perpuluhan. Untuk menangani perkara ini, pendekatan yang sedikit lebih kompleks diperlukan:
def check_int(s): if s[0] in ('-', '+'): return s[1:].isdigit() return s.isdigit()
Fungsi ini menyemak awalan positif atau negatif dan kemudian menggunakan .isdigit() untuk mengesahkan aksara yang tinggal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan jika String Mewakili Integer dalam Python Tanpa Menggunakan Try/Except?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!