Hướng dẫn is null or == null python? - là null hay == null python?

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc thêm sự hiểu biết của bạn: Python's none: null in Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Python's None: Null in Python

Show

Nếu bạn có kinh nghiệm với các ngôn ngữ lập trình khác, như C hoặc Java, thì bạn có thể đã nghe về khái niệm

>>> print(print("Hello, World!"))
Hello, World!
None
4. Nhiều ngôn ngữ sử dụng điều này để thể hiện một con trỏ không chỉ ra bất cứ điều gì, để biểu thị khi một biến trống hoặc để đánh dấu các tham số mặc định mà bạn chưa cung cấp.
>>> print(print("Hello, World!"))
Hello, World!
None
4 thường được xác định là
>>> print(print("Hello, World!"))
Hello, World!
None
6 trong các ngôn ngữ đó, nhưng
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python là khác nhau.
>>> print(print("Hello, World!"))
Hello, World!
None
4
. Many languages use this to represent a pointer that doesn’t point to anything, to denote when a variable is empty, or to mark default parameters that you haven’t yet supplied.
>>> print(print("Hello, World!"))
Hello, World!
None
4 is often defined to be
>>> print(print("Hello, World!"))
Hello, World!
None
6 in those languages, but
>>> print(print("Hello, World!"))
Hello, World!
None
4 in Python is different.

Python sử dụng từ khóa

>>> print(print("Hello, World!"))
Hello, World!
None
8 để xác định các đối tượng và biến
>>> print(print("Hello, World!"))
Hello, World!
None
4. Mặc dù
>>> print(print("Hello, World!"))
Hello, World!
None
8 không phục vụ một số mục đích giống như
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong các ngôn ngữ khác, nhưng nó lại hoàn toàn là một con thú khác. Vì
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python,
>>> print(print("Hello, World!"))
Hello, World!
None
8 không được xác định là
>>> print(print("Hello, World!"))
Hello, World!
None
6 hoặc bất kỳ giá trị nào khác. Trong Python,
>>> print(print("Hello, World!"))
Hello, World!
None
8 là một đối tượng và một công dân hạng nhất!

Trong hướng dẫn này, bạn sẽ học:

  • >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 là gì và làm thế nào để kiểm tra nó
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8
    is and how to test for it
  • Khi nào và tại sao sử dụng
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 làm tham số mặc địnhdefault parameter
  • >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 và
    >>> help(list.sort)
    Help on method_descriptor:
    
    sort(...)
        L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
    
    9 có nghĩa là gì trong dấu vết của bạntraceback
  • Cách sử dụng
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 trong kiểm tra loạitype checking
  • Làm thế nào
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    4 trong Python hoạt động dưới mui xe
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    4 in Python
    works under the hood

Hiểu null trong Python

>>> print(print("Hello, World!"))
Hello, World!
None
8 là giá trị Một hàm trả về khi không có câu lệnh
>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
3 trong hàm:

>>>

>>> def has_no_return():
...     pass
>>> has_no_return()
>>> print(has_no_return())
None

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

Trên thực tế,

>>> print(print("Hello, World!"))
Hello, World!
None
8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in
>>> print(print("Hello, World!"))
Hello, World!
None
8 trừ khi bạn nói rõ ràng với nó:

>>>

>>> None
>>> print(None)
None

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

Trên thực tế,

>>> print(print("Hello, World!"))
Hello, World!
None
8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in
>>> print(print("Hello, World!"))
Hello, World!
None
8 trừ khi bạn nói rõ ràng với nó:

>>>

>>> print(print("Hello, World!"))
Hello, World!
None

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

Trên thực tế,

>>> print(print("Hello, World!"))
Hello, World!
None
8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in
>>> print(print("Hello, World!"))
Hello, World!
None
8 trừ khi bạn nói rõ ràng với nó:missing or default parameters. For instance,
>>> print(print("Hello, World!"))
Hello, World!
None
8 appears twice in the docs for
>>> class BrokenComparison:
...     def __eq__(self, other):
...         return True
>>> b = BrokenComparison()
>>> b == None  # Equality operator
True
>>> b is None  # Identity operator
False
8:

>>>

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

Trên thực tế, >>> print(print("Hello, World!")) Hello, World! None 8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in >>> print(print("Hello, World!")) Hello, World! None 8 trừ khi bạn nói rõ ràng với nó:

>>> print(print("Hello, World!"))
Hello, World!
None
8 tự nó không có đầu ra, nhưng in nó hiển thị
>>> print(print("Hello, World!"))
Hello, World!
None
8 vào bảng điều khiển.

  1. Thật thú vị, bản thân
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    0 không có giá trị trả lại. Nếu bạn cố gắng in cuộc gọi đến
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    0, thì bạn sẽ nhận được
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8:
    Your regular expression found a match.
  2. Nó có thể trông lạ, nhưng
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    3 cho bạn thấy
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 rằng bên trong
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    0 trở lại.
    Your regular expression did not find a match.

>>> print(print("Hello, World!"))
Hello, World!
None
8 cũng thường được sử dụng làm tín hiệu cho các tham số bị thiếu hoặc mặc định. Chẳng hạn,
>>> print(print("Hello, World!"))
Hello, World!
None
8 xuất hiện hai lần trong các tài liệu cho
>>> class BrokenComparison:
...     def __eq__(self, other):
...         return True
>>> b = BrokenComparison()
>>> b == None  # Equality operator
True
>>> b is None  # Identity operator
False
8:

>>>

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

  • Trên thực tế,
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 trừ khi bạn nói rõ ràng với nó:
    use the identity operators
    >>> print(bar)
    Traceback (most recent call last):
      File "", line 1, in 
    NameError: name 'bar' is not defined
    >>> bar = None
    >>> print(bar)
    None
    
    2 and
    >>> print(bar)
    Traceback (most recent call last):
      File "", line 1, in 
    NameError: name 'bar' is not defined
    >>> bar = None
    >>> print(bar)
    None
    
    3.
  • >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 tự nó không có đầu ra, nhưng in nó hiển thị
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 vào bảng điều khiển.
    use the equality operators
    >>> print(bar)
    Traceback (most recent call last):
      File "", line 1, in 
    NameError: name 'bar' is not defined
    >>> bar = None
    >>> print(bar)
    None
    
    4 and
    >>> print(bar)
    Traceback (most recent call last):
      File "", line 1, in 
    NameError: name 'bar' is not defined
    >>> bar = None
    >>> print(bar)
    None
    
    5.

Thật thú vị, bản thân

>>> class BrokenComparison:
...     def __eq__(self, other):
...         return True
>>> b = BrokenComparison()
>>> b == None  # Equality operator
True
>>> b is None  # Identity operator
False
0 không có giá trị trả lại. Nếu bạn cố gắng in cuộc gọi đến
>>> class BrokenComparison:
...     def __eq__(self, other):
...         return True
>>> b = BrokenComparison()
>>> b == None  # Equality operator
True
>>> b is None  # Identity operator
False
0, thì bạn sẽ nhận được
>>> print(print("Hello, World!"))
Hello, World!
None
8:override them:

>>>

>>> class BrokenComparison:
...     def __eq__(self, other):
...         return True
>>> b = BrokenComparison()
>>> b == None  # Equality operator
True
>>> b is None  # Identity operator
False

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

Trên thực tế,

>>> print(print("Hello, World!"))
Hello, World!
None
8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in
>>> print(print("Hello, World!"))
Hello, World!
None
8 trừ khi bạn nói rõ ràng với nó:

>>>

>>> some_result = None
>>> if some_result:
...     print("Got a result!")
... else:
...     print("No result.")
...
No result.

Khi bạn gọi

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
4, không có đầu ra nào để bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 ẩn.

Trên thực tế,

>>> print(print("Hello, World!"))
Hello, World!
None
8 rất thường xuyên xuất hiện như một giá trị trả về mà Python replin đã giành được in
>>> print(print("Hello, World!"))
Hello, World!
None
8 trừ khi bạn nói rõ ràng với nó:

  • >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 tự nó không có đầu ra, nhưng in nó hiển thị
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 vào bảng điều khiển.
  • Thật thú vị, bản thân
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    0 không có giá trị trả lại. Nếu bạn cố gắng in cuộc gọi đến
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    0, thì bạn sẽ nhận được
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8:
  • Nó có thể trông lạ, nhưng
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    3 cho bạn thấy
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 rằng bên trong
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    0 trở lại.
  • >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 cũng thường được sử dụng làm tín hiệu cho các tham số bị thiếu hoặc mặc định. Chẳng hạn,
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 xuất hiện hai lần trong các tài liệu cho
    >>> class BrokenComparison:
    ...     def __eq__(self, other):
    ...         return True
    >>> b = BrokenComparison()
    >>> b == None  # Equality operator
    True
    >>> b is None  # Identity operator
    False
    
    8:
  • >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    6
  • Ở đây,
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 là giá trị mặc định cho tham số
    >>> some_result = None
    >>> if some_result:
    ...     print("Got a result!")
    ... else:
    ...     print("No result.")
    ...
    No result.
    
    0 cũng như gợi ý loại cho giá trị trả về. Đầu ra chính xác của
    >>> some_result = None
    >>> if some_result:
    ...     print("Got a result!")
    ... else:
    ...     print("No result.")
    ...
    No result.
    
    1 có thể thay đổi từ nền tảng này sang nền tảng khác. Bạn có thể nhận được đầu ra khác nhau khi bạn chạy lệnh này trong trình thông dịch của bạn, nhưng nó sẽ tương tự.

Sử dụng đối tượng Python từ null

>>> print(print("Hello, World!"))
Hello, World!
None
8

Thông thường, bạn sẽ sử dụng >>> print(print("Hello, World!")) Hello, World! None 8 như một phần của so sánh. Một ví dụ là khi bạn cần kiểm tra và xem một số kết quả hoặc tham số là >>> print(print("Hello, World!")) Hello, World! None 8. Lấy kết quả bạn nhận được từ >>> some_result = None >>> if some_result: ... print("Got a result!") ... else: ... print("No result.") ... No result. 5. Biểu thức thông thường của bạn có khớp với một chuỗi nhất định không? Bạn sẽ thấy một trong hai kết quả:

Trả về một đối tượng

>>> some_result = None
>>> if some_result:
...     print("Got a result!")
... else:
...     print("No result.")
...
No result.
6: Biểu thức thông thường của bạn tìm thấy một trận đấu.declaration. They don’t have to have an initial value assigned to them. In those languages, the initial default value for some types of variables might be
>>> print(print("Hello, World!"))
Hello, World!
None
4. In Python, however, variables come to life from assignment statements. Take a look at the following code block:

>>>

>>> print(bar)
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'bar' is not defined
>>> bar = None
>>> print(bar)
None

Ở đây, bạn có thể thấy rằng một biến có giá trị

>>> print(print("Hello, World!"))
Hello, World!
None
8 khác với biến không xác định. Tất cả các biến trong Python ra đời bằng cách gán. Một biến sẽ chỉ bắt đầu cuộc sống là
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python nếu bạn gán
>>> print(print("Hello, World!"))
Hello, World!
None
8 cho nó.

Sử dụng >>> print(print("Hello, World!")) Hello, World! None 8 làm tham số mặc định

Rất thường xuyên, bạn sẽ sử dụng

>>> print(print("Hello, World!"))
Hello, World!
None
8 làm giá trị mặc định cho một tham số tùy chọn. Có một lý do rất chính đáng để sử dụng
>>> print(print("Hello, World!"))
Hello, World!
None
8 ở đây thay vì một loại có thể thay đổi như một danh sách. Hãy tưởng tượng một chức năng như thế này:default value for an optional parameter. There’s a very good reason for using
>>> print(print("Hello, World!"))
Hello, World!
None
8 here rather than a mutable type such as a list. Imagine a function like this:

def bad_function(new_elem, starter_list=[]):
    starter_list.append(new_elem)
    return starter_list

>>> my_list = ['a', 'b', 'c']
>>> bad_function('d', my_list)
['a', 'b', 'c', 'd']
8 chứa một bất ngờ khó chịu. Nó hoạt động tốt khi bạn gọi nó với một danh sách hiện có:

>>>

>>> my_list = ['a', 'b', 'c']
>>> bad_function('d', my_list)
['a', 'b', 'c', 'd']

Ở đây, bạn thêm

>>> my_list = ['a', 'b', 'c']
>>> bad_function('d', my_list)
['a', 'b', 'c', 'd']
9 vào cuối danh sách mà không có vấn đề gì.

Nhưng nếu bạn gọi chức năng này một vài lần không có tham số

>>> None
>>> print(None)
None
00, thì bạn bắt đầu thấy hành vi không chính xác:

>>>

>>> None
>>> print(None)
None
0

Giá trị mặc định cho

>>> None
>>> print(None)
None
00 chỉ đánh giá một lần tại thời điểm hàm được xác định, vì vậy mã sẽ sử dụng lại mỗi khi bạn không vượt qua một danh sách hiện có.

Cách đúng để xây dựng chức năng này là sử dụng

>>> print(print("Hello, World!"))
Hello, World!
None
8 làm giá trị mặc định, sau đó kiểm tra nó và khởi tạo một danh sách mới khi cần thiết:

>>>

>>> None
>>> print(None)
None
1

>>> None
>>> print(None)
None
03 hoạt động như bạn muốn bằng cách lập một danh sách mới với mỗi cuộc gọi mà bạn không vượt qua một danh sách hiện có. Nó hoạt động vì mã của bạn sẽ thực thi các dòng 2 và 3 mỗi khi gọi hàm với tham số mặc định.

Sử dụng >>> print(print("Hello, World!")) Hello, World! None 8 làm giá trị null trong Python

Bạn làm gì khi

>>> print(print("Hello, World!"))
Hello, World!
None
8 là một đối tượng đầu vào hợp lệ? Chẳng hạn, điều gì sẽ xảy ra nếu
>>> None
>>> print(None)
None
03 có thể thêm một phần tử vào danh sách hay không, và
>>> print(print("Hello, World!"))
Hello, World!
None
8 là một yếu tố hợp lệ để thêm? Trong trường hợp này, bạn có thể xác định một lớp cụ thể để sử dụng làm mặc định, trong khi khác biệt với
>>> print(print("Hello, World!"))
Hello, World!
None
8:

>>>

>>> None
>>> print(None)
None
2

Ở đây, lớp

>>> None
>>> print(None)
None
09 đóng vai trò là tín hiệu không được nối lại, vì vậy bạn không cần
>>> print(print("Hello, World!"))
Hello, World!
None
8 cho điều đó. Điều đó giải phóng bạn để thêm
>>> print(print("Hello, World!"))
Hello, World!
None
8 khi bạn muốn.

Bạn có thể sử dụng kỹ thuật này khi

>>> print(print("Hello, World!"))
Hello, World!
None
8 cũng có khả năng cho các giá trị trả về. Chẳng hạn,
>>> None
>>> print(None)
None
13 trả về
>>> print(print("Hello, World!"))
Hello, World!
None
8 theo mặc định nếu không tìm thấy khóa trong từ điển. Nếu
>>> print(print("Hello, World!"))
Hello, World!
None
8 là một giá trị hợp lệ trong từ điển của bạn, thì bạn có thể gọi
>>> None
>>> print(None)
None
13 như thế này:

>>>

>>> None
>>> print(None)
None
3

Ở đây, bạn đã xác định một lớp tùy chỉnh

>>> None
>>> print(None)
None
17. Bây giờ, thay vì trả lại
>>> print(print("Hello, World!"))
Hello, World!
None
8 khi một khóa không có trong từ điển, bạn có thể trả lại
>>> None
>>> print(None)
None
17. Điều đó giải phóng bạn để trả lại
>>> print(print("Hello, World!"))
Hello, World!
None
8 khi đó là giá trị thực tế trong từ điển.

Giải mã >>> print(print("Hello, World!")) Hello, World! None 8 trong Tracebacks

Khi

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 xuất hiện trong dấu vết của bạn, điều đó có nghĩa là một cái gì đó bạn đã không mong đợi là ____28 thực sự là
>>> print(print("Hello, World!"))
Hello, World!
None
8 và bạn đã cố gắng sử dụng nó theo cách mà bạn có thể sử dụng
>>> print(print("Hello, World!"))
Hello, World!
None
8. Hầu như luôn luôn, nó là vì bạn đang cố gắng gọi một phương pháp trên đó.

Chẳng hạn, bạn đã gọi

>>> None
>>> print(None)
None
26 trên
>>> None
>>> print(None)
None
27 nhiều lần ở trên, nhưng nếu
>>> None
>>> print(None)
None
27 bằng cách nào đó đã trở thành bất cứ điều gì khác ngoài danh sách, thì
>>> None
>>> print(None)
None
26 sẽ thất bại:

>>>

>>> None
>>> print(None)
None
4

Ở đây, mã của bạn làm tăng

>>> None
>>> print(None)
None
30 rất phổ biến vì đối tượng cơ bản,
>>> None
>>> print(None)
None
27, không còn là danh sách nữa. Bạn đã đặt nó thành
>>> print(print("Hello, World!"))
Hello, World!
None
8, không biết cách
>>> None
>>> print(None)
None
26 và do đó, mã ném một ngoại lệ.

Khi bạn thấy một dấu vết như thế này trong mã của bạn, hãy tìm thuộc tính gây ra lỗi trước. Ở đây, nó

>>> None
>>> print(None)
None
26. Từ đó, bạn sẽ thấy đối tượng bạn đã cố gắng gọi nó. Trong trường hợp này, nó
>>> None
>>> print(None)
None
27, như bạn có thể nói từ mã ngay phía trên dấu vết. Cuối cùng, tìm ra cách đối tượng đó phải là
>>> print(print("Hello, World!"))
Hello, World!
None
8 và thực hiện các bước cần thiết để sửa mã của bạn.

Kiểm tra NULL trong Python

Có hai trường hợp kiểm tra loại mà bạn sẽ quan tâm đến

>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python. Trường hợp đầu tiên là khi bạn trở lại
>>> print(print("Hello, World!"))
Hello, World!
None
8:

>>>

>>> None
>>> print(None)
None
5

Trường hợp này tương tự như khi bạn không có câu lệnh

>>> import re
>>> match = re.match(r"Goodbye", "Hello, World!")
>>> if match is None:
...     print("It doesn't match.")
It doesn't match.
3 nào, trả về
>>> print(print("Hello, World!"))
Hello, World!
None
8 theo mặc định.

Trường hợp thứ hai là một thách thức hơn một chút. Đó là nơi mà bạn đang lấy hoặc trả lại một giá trị có thể là

>>> print(print("Hello, World!"))
Hello, World!
None
8, nhưng cũng có thể là một loại (đơn) khác. Trường hợp này giống như những gì bạn đã làm với
>>> some_result = None
>>> if some_result:
...     print("Got a result!")
... else:
...     print("No result.")
...
No result.
5 ở trên, đã trả về một đối tượng
>>> some_result = None
>>> if some_result:
...     print("Got a result!")
... else:
...     print("No result.")
...
No result.
6 hoặc
>>> print(print("Hello, World!"))
Hello, World!
None
8.

Quá trình này tương tự cho các tham số:

>>> None
>>> print(None)
None
6

Bạn sửa đổi

>>> None
>>> print(None)
None
03 từ trên và nhập
>>> None
>>> print(None)
None
46 từ
>>> None
>>> print(None)
None
47 để trả về
>>> None
>>> print(None)
None
48.

Nhìn dưới mui xe

Trong nhiều ngôn ngữ khác,

>>> print(print("Hello, World!"))
Hello, World!
None
4 chỉ là một từ đồng nghĩa với
>>> print(print("Hello, World!"))
Hello, World!
None
6, nhưng
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python là một đối tượng toàn diện:object:

>>>

>>> None
>>> print(None)
None
7

Dòng này cho thấy

>>> print(print("Hello, World!"))
Hello, World!
None
8 là một đối tượng và loại của nó là
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9.

>>> print(print("Hello, World!"))
Hello, World!
None
8 được tích hợp vào ngôn ngữ dưới dạng
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python:

>>>

>>> None
>>> print(None)
None
8

Ở đây, bạn có thể thấy

>>> print(print("Hello, World!"))
Hello, World!
None
8 trong danh sách
>>> None
>>> print(None)
None
57 là từ điển mà trình thông dịch giữ cho mô -đun
>>> None
>>> print(None)
None
58.

>>> print(print("Hello, World!"))
Hello, World!
None
8 là một từ khóa, giống như
def bad_function(new_elem, starter_list=[]):
    starter_list.append(new_elem)
    return starter_list
0 và
def bad_function(new_elem, starter_list=[]):
    starter_list.append(new_elem)
    return starter_list
7. Nhưng vì điều này, bạn có thể đạt được
>>> print(print("Hello, World!"))
Hello, World!
None
8 trực tiếp từ
>>> None
>>> print(None)
None
57 như bạn có thể, ví dụ,
>>> None
>>> print(None)
None
64. Tuy nhiên, bạn có thể nhận được nó bằng một thủ thuật
>>> None
>>> print(None)
None
65:

>>>

>>> None
>>> print(None)
None
9

Khi bạn sử dụng

>>> None
>>> print(None)
None
65, bạn có thể lấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 thực tế từ
>>> None
>>> print(None)
None
57, mà bạn có thể làm bằng cách yêu cầu nó với
>>> None
>>> print(None)
None
69.

Mặc dù Python in từ

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 trong nhiều thông báo lỗi,
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 không phải là một định danh trong Python. Nó không phải trong
>>> None
>>> print(None)
None
58. Bạn chỉ có thể tiếp cận nó với
>>> None
>>> print(None)
None
73.

>>> print(print("Hello, World!"))
Hello, World!
None
8 là một singleton. Đó là, lớp
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 chỉ cung cấp cho bạn cùng một trường hợp duy nhất là
>>> print(print("Hello, World!"))
Hello, World!
None
8. Có chỉ một
>>> print(print("Hello, World!"))
Hello, World!
None
8 trong chương trình Python của bạn:singleton. That is, the
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 class only ever gives you the same single instance of
>>> print(print("Hello, World!"))
Hello, World!
None
8. There’s only one
>>> print(print("Hello, World!"))
Hello, World!
None
8 in your Python program:

>>>

>>> print(print("Hello, World!"))
Hello, World!
None
0

Khi bạn sử dụng

>>> None
>>> print(None)
None
65, bạn có thể lấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 thực tế từ
>>> None
>>> print(None)
None
57, mà bạn có thể làm bằng cách yêu cầu nó với
>>> None
>>> print(None)
None
69.

Mặc dù Python in từ

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 trong nhiều thông báo lỗi,
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 không phải là một định danh trong Python. Nó không phải trong
>>> None
>>> print(None)
None
58. Bạn chỉ có thể tiếp cận nó với
>>> None
>>> print(None)
None
73.

>>>

>>> print(print("Hello, World!"))
Hello, World!
None
1

Khi bạn sử dụng

>>> None
>>> print(None)
None
65, bạn có thể lấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 thực tế từ
>>> None
>>> print(None)
None
57, mà bạn có thể làm bằng cách yêu cầu nó với
>>> None
>>> print(None)
None
69.

Mặc dù Python in từ

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 trong nhiều thông báo lỗi,
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 không phải là một định danh trong Python. Nó không phải trong
>>> None
>>> print(None)
None
58. Bạn chỉ có thể tiếp cận nó với
>>> None
>>> print(None)
None
73.

>>>

>>> print(print("Hello, World!"))
Hello, World!
None
2

Khi bạn sử dụng

>>> None
>>> print(None)
None
65, bạn có thể lấy
>>> print(print("Hello, World!"))
Hello, World!
None
8 thực tế từ
>>> None
>>> print(None)
None
57, mà bạn có thể làm bằng cách yêu cầu nó với
>>> None
>>> print(None)
None
69.

Mặc dù Python in từ

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 trong nhiều thông báo lỗi,
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 không phải là một định danh trong Python. Nó không phải trong
>>> None
>>> print(None)
None
58. Bạn chỉ có thể tiếp cận nó với
>>> None
>>> print(None)
None
73.

>>>

>>> print(print("Hello, World!"))
Hello, World!
None
3

>>> print(print("Hello, World!"))
Hello, World!
None
8 là một singleton. Đó là, lớp
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
9 chỉ cung cấp cho bạn cùng một trường hợp duy nhất là
>>> print(print("Hello, World!"))
Hello, World!
None
8. Có chỉ một
>>> print(print("Hello, World!"))
Hello, World!
None
8 trong chương trình Python của bạn:

Mặc dù bạn cố gắng tạo một thể hiện mới, bạn vẫn nhận được >>> print(print("Hello, World!")) Hello, World! None 8 hiện có.

Bạn có thể chứng minh rằng

>>> print(print("Hello, World!"))
Hello, World!
None
8 và
>>> None
>>> print(None)
None
80 là cùng một đối tượng bằng cách sử dụng
>>> None
>>> print(None)
None
81:

Ở đây, thực tế là

>>> None
>>> print(None)
None
82 xuất ra cùng một giá trị số nguyên cho cả
>>> print(print("Hello, World!"))
Hello, World!
None
8 và
>>> None
>>> print(None)
None
80 có nghĩa là trên thực tế, chúng có cùng một đối tượng.

  • Nếu bạn cố gắng gán cho
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8, thì bạn sẽ nhận được
    >>> None
    >>> print(None)
    None
    
    86:
  • Tất cả các ví dụ trên cho thấy bạn có thể sửa đổi
    >>> print(print("Hello, World!"))
    Hello, World!
    None
    
    8 hoặc
    >>> help(list.sort)
    Help on method_descriptor:
    
    sort(...)
        L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
    
    9. Chúng là những hằng số thực sự.
  • Bạn có thể có thể phân nhóm
    >>> help(list.sort)
    Help on method_descriptor:
    
    sort(...)
        L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
    
    9:
  • TraceBack này cho thấy người phiên dịch đã giành chiến thắng cho phép bạn tạo ra một lớp mới kế thừa từ
    >>> None
    >>> print(None)
    None
    
    73.
  • Sự kết luận

>>> print(print("Hello, World!"))
Hello, World!
None
8 là một công cụ mạnh mẽ trong hộp công cụ Python. Giống như
def bad_function(new_elem, starter_list=[]):
    starter_list.append(new_elem)
    return starter_list
0 và
def bad_function(new_elem, starter_list=[]):
    starter_list.append(new_elem)
    return starter_list
7,
>>> print(print("Hello, World!"))
Hello, World!
None
8 là một từ khóa bất biến. Là
>>> print(print("Hello, World!"))
Hello, World!
None
4 trong Python, bạn sử dụng nó để đánh dấu các giá trị và kết quả bị thiếu và thậm chí các tham số mặc định trong đó nó là một lựa chọn tốt hơn nhiều so với các loại có thể thay đổi.

Bây giờ bạn có thể: This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Python's None: Null in Python

Làm thế nào để bạn so sánh Null trong Python?

Sử dụng toán tử IS để kiểm tra xem một biến là null trong Python, ví dụ:Nếu my_var không có:.Toán tử IS trả về true nếu các giá trị ở bên trái và bên phải chỉ vào cùng một đối tượng và nên được sử dụng khi kiểm tra các singletons như không có.Đã sao chép!Lưu ý rằng không có giá trị null trong Python., e.g. if my_var is None: . The is operator returns True if the values on the left-hand and right-hand sides point to the same object and should be used when checking for singletons like None . Copied! Note that there isn't a null value in Python.

Làm cách nào để kiểm tra xem dữ liệu có phải là NULL trong Python không?

Dataframe...
Cú pháp: pandas.isnull (tên Data DataFrame) hoặc dataFrame.isnull ().
Tham số: Đối tượng để kiểm tra các giá trị null cho ..
Loại trả về: DataFrame của các giá trị Boolean đúng với các giá trị NAN ..

Null trong Python là gì?

Python Null được gọi là không.Không có đối tượng đặc biệt đại diện cho sự vắng mặt của một giá trị.Một hàm không trả về giá trị tự động trả về không.a special object that represents the absence of a value. A function that does not return a value automatically returns None.

Không có ai bằng null trong Python?

Từ khóa không được sử dụng để xác định giá trị null hoặc không có giá trị nào cả.Không có gì không giống với 0, sai hoặc một chuỗi trống.None is not the same as 0, False, or an empty string.