Làm thế nào để bạn sửa chữa python không được xác định?

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 định

Bạ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

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

Hãy là người đầu tiên chia sẻ ý kiến ​​của bạn

Hỗ trợ đánh dấu hương vị GitHub

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. "]

________số 8

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.
nghỉ;
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
0

Ngoà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

Chủ Đề