Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengesahkan jika String Mewakili Integer dalam Python Tanpa Menggunakan Try/Except?

Bagaimanakah Saya Boleh Mengesahkan jika String Mewakili Integer dalam Python Tanpa Menggunakan Try/Except?

Barbara Streisand
Barbara Streisandasal
2024-12-27 16:55:10255semak imbas

How Can I Verify if a String Represents an Integer in Python Without Using Try/Except?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn