Hướng dẫn is null () in python? - là null() trong 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

Chức năng null trong Python có phải là Python không?

Phương thức isnull () trả về một đối tượng DataFrame trong đó tất cả các giá trị được thay thế bằng một giá trị boolean true cho các giá trị null, và mặt khác là sai..

Là điều kiện null trong Python?

Không có null trong Python; Thay vào đó không có. Như đã nêu, cách chính xác nhất để kiểm tra rằng một cái gì đó đã được đưa ra như một giá trị là sử dụng toán tử nhận dạng IS, kiểm tra hai biến đề cập đến cùng một đối tượng.; instead there's None . As stated already, the most accurate way to test that something has been given None as a value is to use the is identity operator, which tests that two variables refer to the same object.

Không phải null () Python?

.notnull là một hàm chung của thư viện gấu trúc trong Python phát hiện nếu các giá trị không bị thiếu đối với một giá trị duy nhất (vô hướng) hoặc các đối tượng giống như mảng.Hàm trả về booleans để phản ánh liệu các giá trị được đánh giá là null (sai) hay không null (true)..Notnull là một bí danh của gấu trúc. notnull is a general function of the pandas library in Python that detects if values are not missing for either a single value (scalar) or array-like objects. The function returns booleans to reflect whether the values evaluated are null (False) or not null (True). . notnull is an alias of the pandas .

Null có phải là loại dữ liệu trong Python không?

Python không có một đối tượng null.Nhưng đối tượng tương tự liên quan chặt chẽ nhất là không có.Trong bài viết này, chúng ta sẽ thấy làm thế nào không có cách cư xử nào trong Python.Kiểm tra loại null và không ai chúng tôi thấy rằng không có loại null và không có đối tượng là loại không phải là loại.. But the most closely related similar object is none. In this article, we will see how how None behaves in Python. Checking the type of Null and None we see that there is no Null Type and the None object is of type NoneType.