Hướng dẫn what is the nameerror in python? - lỗi tên trong python là gì?

NameRors là một trong những loại lỗi Python phổ biến nhất. Khi bạn bắt đầu lần đầu tiên, những lỗi này có vẻ đáng sợ. Họ không quá phức tạp. Một nameError có nghĩa là bạn đã cố gắng sử dụng một biến chưa tồn tại.

Trong hướng dẫn này, chúng tôi sẽ nói về tên tên của tên gọi là lỗi không được xác định và lý do tại sao nó được nêu ra. Chúng tôi sẽ đi qua một vài giải pháp ví dụ cho lỗi này để giúp bạn hiểu cách giải quyết nó trong mã của bạn.

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

Tên là gì?

Một nameerror được nâng lên khi bạn cố gắng sử dụng một biến hoặc tên hàm không hợp lệ.

Trong Python, mã chạy từ trên xuống dưới. Điều này có nghĩa là bạn không thể khai báo một biến sau khi bạn cố gắng sử dụng nó trong mã của mình. Python sẽ không biết bạn muốn biến làm gì.

Tên phổ biến nhất trông như thế này:

nameerror name is not defined

Hãy để phân tích một vài nguyên nhân của lỗi này.

Nguyên nhân #1: Biến bị lỗi chính tả hoặc tên chức năng

Nó rất dễ dàng cho con người để che đậy những sai lầm chính tả. Chúng ta có thể dễ dàng nói những gì một từ được cho là ngay cả khi nó bị sai chính tả. Python không có khả năng này.

Python chỉ có thể giải thích các tên mà bạn đã đánh vần chính xác. Điều này là do khi bạn khai báo một biến hoặc một hàm, Python lưu trữ giá trị với tên chính xác mà bạn đã khai báo.

Nếu có một lỗi đánh máy ở bất cứ nơi nào bạn cố gắng tham chiếu biến đó, một lỗi sẽ được trả về.

Xem xét đoạn mã sau:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print[boooks]

Mã của chúng tôi trả về:

Traceback [most recent call last]:
  File "main.py", line 3, in 
	print[boooks]
NameError: name 'boooks' is not defined

Để giải quyết vấn đề này, tất cả những gì chúng ta phải làm là sửa lỗi đánh máy. Nếu chúng ta sử dụng in bản in [sách], mã của chúng ta trả về:

["Near Dark", "The Order", "Where the Crawdads Sing"]

Nếu bạn nhận được lỗi tên, trước tiên bạn nên kiểm tra để đảm bảo rằng bạn đã đánh vần chính xác tên biến hoặc chức năng một cách chính xác.

Nguyên nhân #2: Gọi một hàm trước khi khai báo

Các chức năng phải được khai báo trước khi chúng được sử dụng, như các biến. Điều này là do Python đọc mã từ từ trên xuống dưới. & NBSP;

Hãy để viết một chương trình gọi một hàm trước khi được khai báo:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print_books[books]

def print_books[books]:
	for b in books:
		print[b]

Mã của chúng tôi trả về:

Traceback [most recent call last]:
  File "main.py", line 3, in 
	print_books[books]
NameError: name 'print_books' is not defined

Để giải quyết vấn đề này, tất cả những gì chúng ta phải làm là sửa lỗi đánh máy. Nếu chúng ta sử dụng in bản in [sách], mã của chúng ta trả về:

def print_books[books]:
	for b in books:
		print[b]

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print_books[books]

Mã của chúng tôi trả về:

Near Dark
The Order
Where the Crawdads Sing

Để giải quyết vấn đề này, tất cả những gì chúng ta phải làm là sửa lỗi đánh máy. Nếu chúng ta sử dụng in bản in [sách], mã của chúng ta trả về:

Nếu bạn nhận được lỗi tên, trước tiên bạn nên kiểm tra để đảm bảo rằng bạn đã đánh vần chính xác tên biến hoặc chức năng một cách chính xác.

Nguyên nhân #2: Gọi một hàm trước khi khai báo

Các chức năng phải được khai báo trước khi chúng được sử dụng, như các biến. Điều này là do Python đọc mã từ từ trên xuống dưới. & NBSP;

Hãy để viết một chương trình gọi một hàm trước khi được khai báo:

Traceback [most recent call last]:
  File "main.py", line 1, in 
	for b in books:
NameError: name 'books' is not defined

Chúng tôi đang cố gắng gọi print_books [] trên dòng ba. Tuy nhiên, chúng tôi không xác định chức năng này cho đến sau này trong chương trình của chúng tôi. Để khắc phục lỗi này, chúng tôi có thể chuyển khai báo chức năng của mình đến một nơi trước khi chúng tôi sử dụng:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

for b in books:
print[b]

Mã của chúng tôi đã in thành công danh sách các cuốn sách.

Near Dark
The Order
Where the Crawdads Sing

Nguyên nhân #3: Quên xác định một biến

Khi các chương trình trở nên lớn hơn, thật dễ dàng để quên xác định một biến. Nếu bạn làm, một lỗi tên được nêu ra. Điều này là do Python không thể làm việc với các biến cho đến khi chúng được khai báo.

Hãy cùng xem một chương trình in một danh sách các cuốn sách:

Mã của chúng tôi trả về: & nbsp;

Chúng tôi đã không tuyên bố một biến có tên là sách sách. Để giải quyết vấn đề này, chúng tôi cần khai báo về sách của Google trước khi chúng tôi sử dụng nó trong mã của mình:

Hãy để cố gắng chạy lại chương trình của chúng tôi và xem điều gì sẽ xảy ra:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print[boooks]
1

Bây giờ chúng tôi đã xác định một danh sách các cuốn sách, Python có thể in từng cuốn sách từ danh sách.

Nguyên nhân #4: Cố gắng in một từ duy nhất

Để in ra một từ trong Python, bạn cần bao quanh nó bằng trích dẫn đơn hoặc đôi. Điều này nói với Python rằng một từ là một chuỗi. Nếu một từ không được bao quanh bởi các trích dẫn, nó được coi là một phần của chương trình. Xem xét câu lệnh in [] sau:

Mã này cố gắng in từ sách sách trên bảng điều khiển. Mã trả về một lỗi:

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

Python đối xử với những cuốn sách của người Viking giống như một tên biến. Để giải quyết lỗi này, chúng ta có thể gửi kèm từ sách sách về dấu ngoặc kép:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print[boooks]
2

Mã của chúng tôi trả về:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print[boooks]
3

Để giải quyết vấn đề này, tất cả những gì chúng ta phải làm là sửa lỗi đánh máy. Nếu chúng ta sử dụng in bản in [sách], mã của chúng ta trả về:

Để giải quyết vấn đề này, chúng tôi có thể khai báo sách trong chương trình chính của chúng tôi. Điều này sẽ làm cho nó trở thành một biến toàn cầu:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print[boooks]
4

Mã của chúng tôi trả về:

books = ["Near Dark", "The Order", "Where the Crawdads Sing"]

print[boooks]
5

Mã của chúng tôi in ra mọi cuốn sách trong danh sách sách trên mạng. Sau đó, mã của chúng tôi in ra số lượng sách trong danh sách bằng phương thức Len [].

Làm cách nào để sửa lỗi tên của tên trong Python?

Python "NameError: Tên không được xác định" xảy ra khi chúng ta cố gắng truy cập một biến hoặc hàm không được xác định hoặc trước khi nó được xác định. Để giải quyết lỗi, hãy đảm bảo bạn chưa viết sai tên của biến và truy cập nó sau khi nó được khai báo.make sure you haven't misspelled the variable's name and access it after it has been declared.

NameRror có phải là lỗi cú pháp không?

Lỗi cú pháp xảy ra khi một lập trình viên ghi một dòng mã không chính xác.Hầu hết các lỗi cú pháp liên quan đến thiếu dấu chấm câu hoặc tên sai chính tả.. Most syntax errors involve missing punctuation or a misspelled name.

Lỗi tên với ví dụ là gì?

Lỗi #NAME xảy ra trong Excel khi chương trình không nhận ra điều gì đó trong công thức của bạn.Nguyên nhân phổ biến nhất là một lỗi chính tả đơn giản của chức năng đang được sử dụng.Ví dụ, trong hình ảnh bên dưới, công thức đã vlookup đánh vần không chính xác trong trường hợp đầu tiên [F5], vì vậy nó tạo ra #Name?lỗi.when the program doesn't recognize something in your formula. The most common cause is a simple misspelling of the function being used. For example, in the image below, the formula has VLOOKUP spelled incorrectly in the first instance [F5], so it produces the #NAME? error.

Lỗi tên và lỗi loại trong Python là gì?

Giới thiệu về Python NameError NameRror là một loại lỗi trong Python xảy ra khi thực thi hàm, biến, thư viện hoặc chuỗi mà không có trích dẫn đã được nhập mã mà không có bất kỳ khai báo nào trước đó.NameError is a kind of error in python that occurs when executing a function, variable, library or string without quotes that have been typed in the code without any previous Declaration.

Bài Viết Liên Quan

Chủ Đề