Rumah >pembangunan bahagian belakang >Tutorial Python >Ralat dan penyelesaian biasa Python, disyorkan untuk dikumpulkan!
Hello semua, saya Teknologi Kecerdasan Buatan Python
Jika ada satu perkara yang paling menakutkan saya tentang menulis kod, sudah pasti ia pepijat. Bagi orang baru yang baru sahaja bersentuhan dengan pengaturcaraan, apabila mereka menikmati rasa pencapaian menulis kod, mereka sering keliru dengan pelbagai pepijat.
Hari ini, kami telah berkongsi beberapa ralat Python biasa untuk menyimpan kod anda!
Dalam Python, semua kod disusun dengan ruang yang betul. Jadi, sama ada terdapat ruang tambahan atau ruang yang hilang, keseluruhan kod tidak akan berjalan dan hanya fungsi ralat akan dikembalikan.
Kod Python mengikut spesifikasi ruang putih PEP8, menggunakan 4 ruang untuk setiap tahap lekukan.
Contoh ralat
a=1 b=2 if a<b: print a
Pembetulan
a=1 b=2 if a<b: print a
Ralat jenis ini disebabkan. kepada penggunaan tab serentak Disebabkan pengekodan aksara tab dan ruang, kunci tab pada asasnya ialah aksara tab, bukan aksara inden. Oleh kerana lebar ruang yang diwakili oleh aksara tab dalam editor teks berbeza berbeza-beza, adalah disyorkan untuk menggunakan ruang.
Sebab ralat sintaks termasuk tiga jenis berikut:
1. Sintaks tidak sah (sintaks tidak sah)
Tanda baca tanda Peninggalan, penggunaan campuran simbol Cina dan Inggeris, kesilapan ejaan, kata kunci yang digunakan dalam nama pembolehubah atau nama fungsi.
2. Aksara tidak sah dalam pengecam
Aksara tidak dikenali muncul dalam kod, semak sama ada terdapat aksara berlebihan atau aksara Cina.
3. Rentetan tidak lengkap dikesan (EOL semasa mengimbas rentetan litera)
Dalam banyak kes, ia disebabkan oleh tanda petikan yang tidak konsisten pada kedua-dua belah rentetan. Di samping itu, cari akaun awam Linux untuk mengetahui cara membalas "buku git" di latar belakang dan dapatkan pakej hadiah kejutan.
Contoh ralat
print( 'hello', 'world')
Sebab ralat: Koma ialah koma Cina
Mesej ralat: SyntaxError: pengecam aksara tidak sah
result = (1024+(512*2)/128
Ralat sebab: Tanda kurung tidak muncul secara berpasangan
Mesej ralat: SyntaxError:unexpected EOF whileparsing
if name =="A" print("hello")
Punca ralat: Terlupa pada akhir pernyataan seperti if/elif/else/while /for/def/class Tambah bertindih
mesej ralat: SyntaxError: sintaks tidak sah
Ralat nama boleh ubah adalah yang paling biasa dan paling kerap ralat terbina dalam yang biasa ditemui Jenis sering muncul dalam penamaan pembolehubah Python Jika pembolehubah tidak ditemui, NameError akan dinaikkan. Mengenai peraturan untuk nama pembolehubah, anda perlu mengingati perkara berikut:
Punca ralat: Nama pembolehubah dieja dengan salah dan urutan tersilap dieja sebagai urut
Mesej ralat: NameError: nama 'mesage' tidak ditakrifkan
message = "Hello!" print(mesage)5 IndexError (IndexError) Indeks ialah kedudukan item dalam tatasusunan atau senarai, apabila kita cuba mengakses elemen daripada senarai atau mengakses tuple dari indeks yang tidak wujud dalam senarai , pengecualian ini akan berlaku. Contohnya, jika anda mempunyai senarai 10 elemen dengan indeks antara 0 dan 9, jika anda cuba mengakses elemen dengan indeks 10 atau 11 atau lebih, IndexError akan dinaikkan. Contoh ralat
Punca ralat: Indeks ke-4 tidak wujud dalam senarai a dan indeks senarai bermula dari 0
Mesej ralat: IndexError : indeks rentetan di luar julat
a = [1,2,3] print(a[3])6. KeyError (KeyError) Apabila membaca kunci dan nilai dalam kamus, jika kunci tidak wujud, ralat KeyError akan dicetuskan. Contoh ralat
Sebab ralat: Kunci 'f' tidak wujud
Mesej ralat: KeyError: 'f'
d = {'a':1,'b':2} print(d['f'])7 ralat (TypeError)Ralat ini timbul apabila jenis objek yang salah atau tidak disokong digunakan dalam atur cara. Ralat ini juga ditimbulkan jika percubaan dibuat untuk memanggil objek yang tidak boleh dipanggil atau untuk lelaran melalui pengecam yang tidak boleh diulang. Contoh ralat
Punca ralat: Apabila menggunakan "+" untuk penyambungan, anda mesti menggunakan rentetan atau menukar nombor itu kepada rentetan menggunakan fungsi str()
Mesej ralat: TypeError: hanya boleh menggabungkan str(bukan "int") kepada str
age=18 print("我的年龄是"+age)8. Ralat Atribut (AttributeError) Ralat atribut akan dinaikkan apabila rujukan dan tugasan atribut. gagal.
Sebab ralat jenis ini cuba mengakses sifat objek yang tidak diketahui Dalam erti kata lain, sifat objek yang sepadan tidak dapat ditemui. Anda boleh menyemak sama ada pembina __init__() dalam kelas ditulis dengan betul, dengan dua garis bawah di sebelah kiri dan kanan.
Atas ialah kandungan terperinci Ralat dan penyelesaian biasa Python, disyorkan untuk dikumpulkan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!