Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Semak dengan Cekap jika Rentetan Mewakili Integer Tanpa Menggunakan Try/Except?
Menyemak Perwakilan Integer Rentetan: Pendekatan Alternatif untuk Dicuba/Kecuali
Dalam artikel ini, kami meneroka kaedah untuk menentukan sama ada rentetan mewakili integer tanpa menggunakan pendekatan cuba/kecuali. Ini amat berguna dalam senario di mana prestasi dan pengendalian pengecualian adalah kritikal.
Menggunakan Kaedah .isdigit() untuk Integer Positif
Kaedah .isdigit() dalam pemeriksaan Python jika rentetan hanya terdiri daripada digit. Walaupun berkesan untuk integer positif, ia gagal dengan nilai negatif.
'16'.isdigit() # True
Mengendalikan Integer Negatif
Untuk mengambil kira integer negatif, kita boleh memanfaatkan penghirisan rentetan dan . kaedah isdigit() seperti berikut:
s = '-17' s.startswith('-') and s[1:].isdigit() # True
Pernyataan bersyarat ini memastikan bahawa rentetan bermula dengan tanda sempang (-) dan aksara yang tinggal ialah digit.
Tidak Termasuk Nombor Titik Terapung
Walau bagaimanapun, pendekatan ini tidak mengecualikan rentetan seperti '16.0' yang menyerupai integer dalam konteks pemutus integer. Untuk ini, kami boleh meningkatkan logik kami dengan fungsi tersuai:
def check_int(s): if s[0] in ('-', '+'): return s[1:].isdigit() return s.isdigit()
Fungsi ini mengendalikan kedua-dua integer positif dan negatif dengan menyemak sama ada rentetan bermula dengan tanda dan kemudian mengesahkan bahawa aksara yang tinggal ialah digit.
Dengan menggunakan kaedah ini, anda boleh menentukan dengan cekap sama ada rentetan mewakili integer tanpa menggunakan cuba/kecuali, menawarkan pelaksanaan yang lebih pantas dan peningkatan kawalan melebihi pengendalian pengecualian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak dengan Cekap jika Rentetan Mewakili Integer Tanpa Menggunakan Try/Except?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!