Trong Python, không có giá trị như null.null. Thay vào đó, Python không có gì đại diện cho NULL.None that represents null. Bạn có thể sử dụng if-statement để kiểm tra xem giá trị có trong Python không:None in Python: Ví dụ: Output: Hôm nay, bạn sẽ tìm hiểu mọi thứ về đối tượng không có trong Python.None
object in Python. Trong lập trình, giá trị null có nghĩa là một tham số chưa có giá trị [ít nhất là]. Nó giống như một trình giữ chỗ cho các biến số trống. Để có được một ý tưởng tốt hơn về các giá trị null, hãy để sử dụng một ví dụ thực tế. Hãy nói rằng bạn có một biến N đại diện cho số tiền bạn có.n that represents how much money you have. Nhiều ngôn ngữ lập trình đại diện cho sự vắng mặt của giá trị này là null.null. Tuy nhiên, trong Python, không có ai được sử dụng thay thế.None is used instead. Trong Python, một hàm tự động trả về không có câu lệnh trả về trong một hàm.None when there is no return statement in a function. Ví dụ: hãy để tạo ra một chức năng không trả lại bất cứ điều gì. Cách đơn giản nhất để làm điều này là sử dụng câu lệnh PASS: Hãy gọi cho chức năng này và in giá trị trả lại: Output: Như bạn có thể thấy, chức năng không trả về không.None. Hãy cùng xem một ví dụ khác. Chức năng in tích hợp [] Python không trả lại bất cứ điều gì. Đây là một thực tế mà bạn có thể chưa nghĩ đến trước đây.print[] function does not return anything. This is a fact that you have probably not thought about before. Vì hàm in [] không trả về một giá trị, nó không trả về không.print[] function does not return a value, it returns None. Để xem điều này, bạn có thể in kết quả của một cuộc gọi in []:print[] call:name = None
if name is None:
print["None found"]
else:
print[name]
None found
Lịch sử của các giá trị null trong lập trình
Không ai trong Python
def test[]:
pass
print[test[]]
None
print[print["Example"]]
Output:
None
Thay vì in ví dụ về ví dụ, không có gì được in là vì bản in [ví dụ, bản thân] không trả lời. “Example”, None is printed is because print[“Example”] itself returns None.
Sự thật về không có đối tượng trong Python
Dưới đây là một số sự thật về đối tượng không có:None object:
def test[]: pass
4 không giống như sai.False.- Một chuỗi trống không giống như không có.None.
- Không ai cũng không phải là số không. is also not a zero.
- Bất kỳ so sánh nào không có trả về sai, ngoại trừ việc so sánh không có gì với chính nó.None returns False, except for comparing None with itself.
Ở đây tôi đang sử dụng Python REP để xác minh sau:
>>> None is False False >>> None == "" False >>> None == 0 False >>> None == "None" False >>> None == None True
Cách sử dụng và đối phó với không có ai trong Python
Trong Python, không ai đại diện cho sự vắng mặt của một giá trị.None represents the absence of a value.
Bạn thường không sử dụng không có để:None to:
- Thực hiện so sánh để xem một giá trị là không có hay không.None or not.
- Cung cấp một giá trị đối số mặc định trống cho một hàm.
Bạn cũng thường thấy Nonetype trong các thông báo lỗi TraceBack.NoneType in the traceback error messages.
Điều này là do bạn có một bất ngờ không có giá trị ở đâu đó trong mã và bạn cố gắng sử dụng nó.None value somewhere in the code and you try to use it.
Không có trong so sánh
Không có gì thường thấy khi so sánh trong Python. is commonly seen when making comparisons in Python.
Để so sánh một đối tượng không có, hãy sử dụng toán tử nhận dạng là [và không phải].None, use the identity operator is [and is not].
Ví dụ:
number = None name = "Alice" number is None # Returns True name is not None # Returns True
Nói chung, để kiểm tra xem một giá trị có trong Python hay không, bạn có thể sử dụng câu lệnh IF khác.None in Python, you can use the if…else statement.
Chẳng hạn, hãy để kiểm tra nếu một biến tên không có:name variable is None:
name = None if name is None: print["None found"] else: print[name]
Output:
None found
Không có tham số mặc định
Không có ai có thể được đưa ra như một tham số mặc định cho một hàm.None can be given as a default parameter to a function.
Điều này có nghĩa là nếu bạn gọi chức năng mà không chỉ định tham số không được sử dụng làm dự phòng.None is used as a fallback.
Ví dụ: hãy để tạo ra một chức năng mà chỉ chào một người nếu một tên được đưa ra như một đối số:
None found1
Chức năng này hoạt động như vậy:
- Nếu một tên không được chỉ định, nó mặc định là không có. Kết quả là, chức năng không làm gì cả.name is not specified, it defaults to None. As a result, the function does nothing.
- Nếu một tên được chỉ định, chức năng chào đón người có tên đó.name is specified, the function greets the person with that name.
Không có tham số mặc định là một cách phổ biến để sử dụng không có trong Python. as a default parameter is a common way to use None in Python.
Nếu bạn xem xét tài liệu chính thức của Python, bạn sẽ thấy không ai sử dụng theo cách này theo phương thức
def test[]: pass5 chẳng hạn.None used this way in the
def test[]: pass5 method for example.
Tham số khóa không có mặc định.None by default.
Gỡ lỗi một kiểu không theo dõi trong một dấu vết
Khi viết mã python, bạn thường vấp ngã một lỗi như thế này:
None found2
Nếu bạn thấy điều này hoặc bất kỳ lỗi nào khác với từ Nonetype, điều đó có nghĩa là bạn đang sử dụng không có cách nào nó không thể được sử dụng.NoneType it means you are using None in a way it cannot be used.
Nói cách khác, một cái gì đó không được coi là không ai vô tình không có.None is accidentally None.
Chẳng hạn, hãy để tạo ra một chức năng trả về danh sách tên và gọi nó là:
None found3
Thay vì in tên, xảy ra lỗi:
None found4
Điều này xảy ra bởi vì chúng tôi quên trả về tên trong hàm cho_names [].give_names[] function.
Như bạn đã học trước đó, khi một hàm không sử dụng từ khóa trả về, không có từ khóa nào được trả về tự động.return keyword, None is returned automatically.
Kết quả của sai lầm nhỏ này, chúng tôi cố gắng lặp lại đối tượng không.None object.
Trong trường hợp này, bản sửa lỗi rất đơn giản, trả lại các tên từ chức năng:
None found5
Bây giờ chức năng hoạt động như chúng tôi mong đợi:
None found6
Điều này đóng vai trò là một ví dụ về cách theo dõi lỗi với Nonetype.NoneType.
Bất cứ khi nào bạn thấy lỗi này, một cái gì đó tương tự đang xảy ra.
Không có đối tượng nào dưới mui xe trong Python
Trong nhiều ngôn ngữ lập trình phổ biến, NULL chỉ là 0 dưới mui xe.null is just a 0 under the hood.
Trong Python, điều này không đúng.
Cũng giống như mọi thứ khác trong Python, không có đối tượng nào.None is an object.
Điều này rất dễ xác minh bằng cách kiểm tra loại
def test[]: pass6 trong Python replin:
None found7
Loại không có là không phải là không. Điều này là do Nonetype là lớp cơ sở thực hiện đối tượng không.None is NoneType. This is because NoneType is the base class that implements the None object.
Trong Python, không ai là đối tượng singleton.None is a singleton object.
Điều này có nghĩa là chỉ có một không có trong Python theo ý của bạn.None in Python at your disposal.
Bất kể bạn không thấy ở đâu, nó luôn luôn giống nhau không có đối tượng.None, it is always the same None none object.
Hãy để xác minh điều này bằng cách tạo nhiều biến với
def test[]: pass6 làm giá trị của chúng và kiểm tra ID của họ:
None found8
Output:
None found9
Tất cả các biến trả về cùng một ID.
Điều này xác minh rằng chỉ có một không.None.
Nói cách khác, các biến N1, N2 và N3 cũng là cùng một đối tượng vì chúng chỉ vào cùng một địa chỉ bộ nhớ.n1, n2, and n3 are also the same object because they point to the same memory address.
Không có hằng số thực sự trong Python
Hãy để Lừa đi sâu hơn vào các chi tiết của không.None.
Không có đối tượng nào trong Python. Nhưng nó là một đối tượng đặc biệt mà bạn không thể sửa đổi. is an object in Python. But it is a special object that you cannot modify.
Hãy để xem những gì xảy ra nếu bạn cố gắng sửa đổi đối tượng không có trong Python:None object in Python:
def test[]: pass0
Ngoài ra, bạn không thể thêm thuộc tính vào đối tượng Không:None object:
def test[]: pass1
Sửa đổi đối tượng không có thể là không thể, bởi vì nó là một hằng số thực sự trong Python.None object is not possible, because it is a true constant in Python.
Như đã thảo luận trước đó, điều này có thể gây ra lỗi và lỗi trong mã của bạn. May mắn thay, thông báo lỗi đủ rõ ràng để cho bạn biết những gì đang xảy ra.
Subroleing loại không phải là loại cơ bản của không có gì là không thể.NoneType of None is not possible.
Ví dụ:
def test[]: pass2
Result:
def test[]: pass3
Sự kết luận
Python Null được gọi là không.null is called None.
Không có đối tượng đặc biệt đại diện cho sự vắng mặt của một giá trị. is a special object that represents the absence of a value.
Một hàm không trả về giá trị tự động trả về không.None.
So sánh không có đánh giá chỉ đúng khi so sánh không có gì với chính nó.None evaluate True only when comparing None with itself.
Bất kỳ so sánh nào khác mang lại sai.False.
Cảm ơn vì đã đọc. Tôi hy vọng bạn thấy nó hữu dụng.
Mã hóa hạnh phúc!
Đọc thêm
Câu hỏi và câu trả lời phỏng vấn Python
Các tính năng nâng cao hữu ích của Python