Sai sót là điều không thể tránh khỏi khi lập trình. Khi bạn viết mã, lỗi sẽ bắt đầu tăng lên. Bạn càng hiểu rõ những lỗi này thì càng dễ tránh chúng. Trong bài viết này, bạn sẽ tìm hiểu các lỗi chính của python, cách giải thích chúng và cách chúng phát sinh. Ví dụ: tên lỗi tên python không được xác định, điều này có nghĩa là gì?
Mục tiêu của lỗi hoặc ngoại lệ là đánh dấu điều gì đó không mong muốn đã xảy ra trong khi chạy mã. Một số tình huống này phát sinh thường xuyên. Do đó, python chứa một số ngoại lệ tích hợp để nắm bắt tình huống bất ngờ thường xuyên hơn. Dưới đây chúng ta sẽ xem xét từng loại ngoại lệ đó và xem ý nghĩa đằng sau
Xem danh sách tất cả các lỗi tích hợp trong tài liệu python
Lỗi cú pháp. cú pháp không hợp lệLỗi này xảy ra khi mã bạn viết không tuân theo quy tắc cú pháp python. Ví dụ không đóng ngoặc đơn sẽ dẫn đến lỗi cú pháp. Trình phân tích cú pháp python sẽ không thể phân tích mã nếu nó không tuân theo quy tắc cú pháp, do đó, nó không thể xử lý thêm nữa. Hãy xem một số ví dụ
Ví dụ 1
list = [1, 23, 45, 0, 9]
for item in list
print[item]
đầu ra
File line 2
for item in list
^
SyntaxError: invalid syntax
Đoạn mã này gây ra một tình huống không mong muốn, vì dòng 2 thiếu dấu hai chấm ở cuối, điều này phá vỡ quy tắc cú pháp python
Ví dụ #2
list = [1, 23, 45, 0, 9]
for item in list:
print[item
đầu ra
File line 4
^
SyntaxError: unexpected EOF while parsing
Đoạn mã trên đưa ra lỗi vì dòng 3 thiếu dấu ngoặc đơn đóng
Tên lỗi tên Python không được xác địnhBạn sẽ gặp lỗi tên [tên không được xác định] khi một biến không được xác định trong phạm vi cục bộ hoặc toàn cầu. Hoặc bạn đã sử dụng một chức năng không được xác định ở bất kỳ đâu trong chương trình của mình. Ví dụ: bạn sẽ gặp lỗi này nếu cố gắng in một biến chưa được xác định. Bạn cũng có thể thấy lỗi này khi sử dụng thư viện tích hợp nhưng quên nhập thư viện trước. Hãy xem một vài ví dụ mã
Ví dụ 1
number = 1
print[num]
đầu ra
Traceback [most recent call last]:
File line 4, in
print[num]
NameError: name 'num' is not defined
Thông thường, lỗi này làm nổi bật rằng có lỗi đánh máy ở một trong các tên biến
Ví dụ #2
def print_age[age]:
print['My age is: '+str[age]]
print__age[14]
đầu ra
Traceback [most recent call last]:
File line 4, in
print__age[14]
NameError: name 'print__age' is not defined
Vấn đề này tương tự như ví dụ trước, nhưng được áp dụng cho chức năng. Mặc dù có chức năng “in tuổi”, tên hàm là in, gạch dưới và tuổi, tuy nhiên khi gọi hàm tôi đã sử dụng dấu gạch dưới kép __. Đó là lý do tại sao mã không thể tìm thấy chức năng
Đọc thêm về KeyError, ModuleNotFoundError, AttributeError và IndexError
Tìm hiểu Cách khắc phục – lỗi tkinter không có mô-đun nào
Cách khắc phục Valueerror. quá nhiều giá trị để giải nén
Sửa Typeerror một đối tượng giống như byte không được yêu cầu 'str'
Tôi hy vọng bạn thích bài viết và cảm ơn vì đã đọc. mã hóa hạnh phúc.
con trăn
Báo cáo
Thưởng thức bài viết này?
3
Đăng lại
Marta Rey
Kỹ sư phần mềm Java toàn thời gian [Được chứng nhận AWS] với 10 năm kinh nghiệm
Chào bạn. Tên tôi là Marta. Tôi là kỹ sư phần mềm với 10 năm kinh nghiệm. Tôi có nhiều kinh nghiệm về Java và Đám mây AWS. Tôi cũng làm việc với python và django. Vui lòng xem blog của tôi, nơi tôi dạy python và ja
Theo dõi
Khám phá và đọc thêm các bài viết từ Marta Rey
bắt đầu
Thưởng thức bài viết này?
Để lại một lượt thích và bình luận cho Marta
3
Gửi đi
Người bắt đầu
một năm trước
Tôi đang gặp loại lỗi này. nếu Question123 == “có”.
TênLỗi. tên ‘Question123’ không được xác định
Đây là mã của tôi.
elif’nhớ jarvis’ trong truy vấn.
rememberMsg = truy vấn. replace[“nhớ điều đó”,""]
rememberMsg = memoryMsg. replace[“jarvis”,""]
speak[“Bạn Đã Bảo Tôi Nhắc Bạn. ”+rememberMsg]
print[“Bạn Đã Bảo Tôi Nhắc Bạn. ”+rememberMsg]
Question123 = input["Nhập có hoặc không. "]
1
Đáp lại
Đảo Nour Ben azaiez
2 năm trước
Xin chào, tôi đã đọc bài viết của bạn và nó thực sự rất hữu ích tuy nhiên tôi vẫn không thể tìm ra giải pháp cho vấn đề của mình. Tôi đã viết mã này.
cf=input[‘couleur du feu[r,v,o]?’]
trong khi cf. = r và cf. =v và cf. =o.
cf=input['couleur du feu [r,v,o]? ']
if cf ==r or cf==v or cf== .
ngắt;
p=input["0. pas de pieton ;1. il y a un pieton "]
trong khi p. =0 và p. =1.
p=input["0. pas de pieton ;1. il y a un pieton "]
if p==0 or p==1.
ngắt;
nếu p==1 hoặc cf==r.
print[“action = s’arreter “]
elif cf==o.
print[” action = ralentir”]
else.
print["action = passer "]
[Nhưng nó báo lỗi tên. tên 'r' không được xác định. Bạn có thể vui lòng cho tôi biết tôi nên thay đổi những gì 🙏🏻
Đáp lại
Marta Rey
2 năm trước
Xin chào Nour Islem, Cảm ơn nhận xét của bạn. Vấn đề trong mã của bạn là các ký tự phải nằm trong dấu ngoặc đơn hoặc dấu ngoặc kép. Ví dụ thay vì
while cf!=r and cf!=v and cf!=o :
Nó sẽ giống như thế này
File line 2
for item in list
^
SyntaxError: invalid syntax
0Ngoài ra, để làm cho cuộc sống của bạn dễ dàng hơn, tôi khuyên bạn nên sử dụng biến có tên dễ đọc thay vì chữ cái. Nó làm cho mã dễ theo dõi hơn
Trong trường hợp bạn muốn đọc thêm về cách làm cho mã của bạn dễ đọc hơn và dễ quản lý hơn, vui lòng xem bài viết này