SyntaxError: Sintaks Tidak Sah Berterusan ke Baris Seterusnya
Ralat "SyntaxError: invalid syntax" boleh berterusan ke baris seterusnya walaupun masalahnya garis timbul kelihatan betul secara sintaksis. Tingkah laku ini berlaku disebabkan oleh ibu bapa yang tidak seimbang pada baris sebelumnya.
Contoh Kod dengan Ralat
Pertimbangkan coretan kod berikut:
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494 guess = Pmin+(Pmax-Pmin)*((1-w**2)*fi1+(w**2)*fi2)
Walaupun baris kedua kelihatan betul dari segi sintaksis, ralat berlaku dalam baris ini kerana tanda kurung dalam baris pertama tidak seimbang:
Mengenalpasti Masalah
Untuk mengenal pasti masalahnya, kira bilangan kurungan pembukaan dan penutup bagi setiap satu baris:
# Tanda kurung buka: 1 2 3 # v v v fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494 # ^ ^ # Tanda kurung tutup: 1 2
Walaupun kaedah ini tidak menyediakan penyelesaian umum, pemahaman manual tentang kod diperlukan untuk menentukan cara kurungan harus ditukar.
Pembetulan Ralat dalam Seterusnya Versi Python
Dalam Python 3.9 dan lebih baru, penghurai PEG yang baru diperkenalkan menambah baik mesej ralat dan mengenal pasti lokasi ralat dalam kod dengan tepat sumber:
pax> python3 prog.py File "prog.py", line 1 xyzzy = (1 + ^ SyntaxError: '(' was never closed
Atas ialah kandungan terperinci Mengapa SyntaxError pada Satu Baris Kadang-kadang Mempengaruhi Seterusnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!