Null trong Python
Không có null trong Python; . Python null được gọi là Không, một đối tượng đặc biệt biểu thị sự vắng mặt của một giá trị. Đối tượng null là singleton Không có. “Null” là một giá trị duy nhất trong Python chứng tỏ rằng một biến không trỏ đến bất cứ thứ gì.
Nhiều người sẽ tranh luận rằng từ “null” hơi bí truyền, nhưng Null không hẳn là từ thân thiện nhất với những người mới lập trình.
“Không” đề cập chính xác đến chức năng dự định – nó không là gì và không có hành vi. Trong Python, Không ai là đối tượng và công dân hạng nhất
Tại sao null lại quan trọng trong Python?
Không quan trọng trong Python vì nó thể hiện sự vắng mặt của giá trị. Null có thể được sử dụng làm trình giữ chỗ cho một giá trị không xác định hoặc chưa được khởi tạo. Nếu một hàm không trả về bất kỳ giá trị nào, thì nó sẽ trả về Không.
Null xứng đáng với một mục đích cụ thể trong Python và nó không có nghĩa là giá trị 0. Không hoặc Không là công dân hạng nhất
Sự khác biệt giữa Null và Không có gì trong Python
Không có null trong Python, giống như trong các ngôn ngữ lập trình khác. Thay vào đó, không có. Null thường được định nghĩa là 0 trong các ngôn ngữ lập trình khác nhau, nhưng Null trong Python thì khác
Python sử dụng Không có gì khác biệt vì nó định nghĩa các đối tượng và biến null
Không có gì trong Python
Không có giá trị nào trong Python được sử dụng để mô tả giá trị rỗng hoặc không có giá trị. Không có nghĩa là Sai. giá trị hoặc một chuỗi rỗng. Không có dữ liệu của riêng nó [NoneType] và chỉ Không có thể là Không có
Nếu bạn xác định một hàm có câu lệnh trả về hoặc không có giá trị, thì hàm đó sẽ trả về Không có
def python_none[]: pass print[python_none[]]
đầu ra
None
Khi bạn gọi hàm python_none[], nó sẽ trả về Không vì không có câu lệnh trả về. Thay vào đó, chỉ có một tuyên bố vượt qua
Không có giá trị đầu ra, nhưng việc in hiển thị Không cho bảng điều khiển Python, rõ ràng buộc chúng tôi phải in đầu ra
Không có gì cho biết các tham số bị thiếu hoặc mặc định. Ví dụ: Không xuất hiện hai lần trong tài liệu cho danh sách. loại
print[help[list.sort]]
đầu ra
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.
Ở đầu ra, bạn có thể thấy rằng khóa tham số có giá trị Không có. Điều đó có nghĩa là tham số chính là bắt buộc nhưng chúng tôi chưa cung cấp;
Làm cách nào để đặt giá trị thành Không?
Để đặt giá trị thành Không có trong Python, hãy gán một đối tượng Không có cho một biến trở thành Không có
data = None
Trong đoạn mã trên, bạn có thể thấy rằng chúng ta đặt một biến dữ liệu thành Không bằng cách sử dụng toán tử gán
Bằng chứng rằng Không ai là một đối tượng
Không có gì là đơn lẻ và lớp Không có loại chỉ cung cấp cho bạn cùng một phiên bản duy nhất của Không có. Chỉ có một Không có trong chương trình Python của chúng tôi
NoneObj = type[None][] print[NoneObj] # Check if NoneObj is instance of NoneType class print[NoneObj is None]
Nó cho đầu ra sau
None True
Ngay cả khi bạn cố gắng tạo phiên bản mới, bạn vẫn nhận được phiên bản Không có
Sự thật thú vị về Không
- Không có gì không giống như Sai
- Không có gì không phải là một chuỗi rỗng
- Không có không phải là 0
- So sánh Không có gì với bất kỳ thứ gì sẽ luôn trả về Sai ngoại trừ Không có chính nó.
Khai báo Không có trong Python
Chúng ta có thể gán một đối tượng Không có cho bất kỳ biến nào tại thời điểm khai báo. Các biến trong Python xuất hiện thông qua một toán tử gán, giúp chúng ta gán một giá trị cụ thể cho biến
Một số ngôn ngữ lập trình không nhất thiết phải gán giá trị ban đầu cho chúng. Ví dụ: giá trị ban đầu cho một số biến có thể là Null.
Hãy gán giá trị Không có cho một biến trong Python và in biến trong bảng điều khiển
data = None print[None]
đầu ra
________số 8Nếu chúng ta không định nghĩa một biến và in trực tiếp giá trị của nó, chúng ta sẽ nhận được NameError
print[data]
đầu ra
None0
Tất cả các biến trong Python đi vào cuộc sống thông qua toán tử gán. Một biến chỉ có thể bắt đầu cuộc sống là Null nếu bạn gán Không. Nếu bạn không định nghĩa một biến và thử in trực tiếp trong bảng điều khiển, bạn sẽ nhận được NameError
Trả về null trong Python
Để trả về giá trị rỗng trong Python, hãy sử dụng từ khóa None . Không có thuật ngữ nào như “return null” trong Python. Thay vào đó, mỗi chức năng trả về một số giá trị
Python coi nó là trả về Không nếu không sử dụng câu lệnh trả về rõ ràng
None1
đầu ra
None2
Python không phải là null
Để kiểm tra xem một biến có phải là null trong Python hay không, hãy sử dụng toán tử “is not”. Các toán tử “is” và “is not” trong Python là các toán tử so sánh dùng để so sánh danh tính của hai đối tượng. Ví dụ: python “is operator” là một bài kiểm tra danh tính. Nó kiểm tra xem bên phải và bên trái có phải là cùng một đối tượng không
None3
đầu ra
None4
Bạn có thể thấy rằng var không phải là null hoặc Không có. Đó là lý do tại sao nếu điều kiện đúng và in câu lệnh
Sử dụng Không như một phần của so sánh
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 xem thứ gì đó đã được gán giá trị Không có là sử dụng toán tử đồng nhất, kiểm tra xem hai biến có tham chiếu đến cùng một đối tượng hay không
Trong Python, để thể hiện sự vắng mặt của giá trị, bạn có thể sử dụng giá trị Không có [loại. Không có Loại. none] đối với đối tượng và “” [hoặc len[] == 0] đối với chuỗi
Về sự khác biệt giữa “==” và “is”, việc kiểm tra danh tính đối tượng bằng cách sử dụng “==” là đủ
Tuy nhiên, vì thao tác “is” được định nghĩa là thao tác nhận dạng đối tượng, nên có lẽ sử dụng nó đúng hơn là “==”. Không chắc chắn nếu có sự khác biệt về tốc độ
Khi kiểm tra các giá trị Không có, một nguyên tắc cơ bản cần ghi nhớ
- Có sử dụng toán tử nhận dạng is và is not
- Không sử dụng các toán tử đẳng thức == và. =
Sự khác biệt giữa == và Python là Toán tử
Sự khác biệt giữa toán tử == và is trong Python là toán tử == so sánh các giá trị của cả hai toán hạng và kiểm tra sự bằng nhau về giá trị. Đồng thời, toán tử is kiểm tra xem cả hai toán hạng có tham chiếu đến cùng một đối tượng hay không.
Xem đoạn mã sau
None5
Xem đầu ra sau
None6
Bây giờ, hãy xem đoạn mã sau
None7
đầu ra
None8
Mã này trả về Không và chúng tôi kiểm tra xem dữ liệu có thực sự là Không
Nhưng, Các toán tử đẳng thức có thể bị đánh lừa khi bạn so sánh các đối tượng do người dùng định nghĩa ghi đè lên chúng
None9
đầu ra
print[help[list.sort]]0
Toán tử đẳng thức == trả về câu trả lời sai
Danh tính “là toán tử” trả về câu trả lời đúng vì nó không thể bị lừa vì bạn không thể ghi đè lên nó
Kiểm tra loại Không có
Trong các ngôn ngữ lập trình khác, Null chỉ là một từ đồng nghĩa với 0, nhưng Null trong Python là một đối tượng
Kiểm tra loại Không bằng phương thức type[]
print[help[list.sort]]1
đầu ra
print[help[list.sort]]2
Điều này cho thấy rằng Không có đối tượng và kiểu dữ liệu của nó là Không có Loại
Không cái nào tự nó được tích hợp vào ngôn ngữ dưới dạng Null trong Python. Tuy nhiên, bạn có thể kiểm tra bằng cách in dir[__builtins__]
print[help[list.sort]]3
Nó sẽ in các mục sẵn có sau
print[help[list.sort]]4
Sử dụng Không làm Giá trị trong Python
Chúng ta có thể chuyển Không làm tham số hàm trong Python và thêm nó vào danh sách. Đầu tiên, chúng ta sẽ định nghĩa một lớp và chúng ta không định nghĩa phần thân của nó. Sau đó, chúng ta tạo một hàm gọi là list_function[], hàm này nhận hai tham số
- vật phẩm mới. Mục này sẽ được thêm vào danh sách nếu chúng ta vượt qua khi gọi hàm
- danh sách ban đầu. Là một tham số mặc định, danh sách phải là Không, nhưng nếu chúng ta chuyển bất kỳ đối số nào một cách rõ ràng, nó sẽ trả về danh sách ban đầu
print[help[list.sort]]5
đầu ra
print[help[list.sort]]6
Chúng ta đã truyền 2 tham số với giá trị mặc định là list_function[].
- new_item = DoAppendNone
- initial_list = Không có
Trong mã, chúng tôi đã chuyển initial_list dưới dạng dữ liệu vì chúng tôi có một danh sách dữ liệu có năm phần tử
Vì vậy, khi gọi hàm, initial_list = data của chúng ta
Nghĩa là bên trong hàm chúng ta đã kiểm tra xem initial_list có phải là Không hay không, nhưng không phải là Không vì chúng ta có một danh sách các mục trong dữ liệu nên điều kiện đó sẽ là Sai
Điều kiện thứ hai là new_element không phải là DoAppendNone, mà là. Vì vậy, điều kiện đó cũng sẽ là Sai. Vì vậy, sẽ không có phần tử mới nào được thêm vào danh sách
Cuối cùng, danh sách dữ liệu được cung cấp sẽ được trả về dưới dạng đầu ra
Bây giờ, nếu Không có đối tượng đầu vào hợp lệ thì sao?
Trong trường hợp này, bạn có thể định nghĩa lớp cụ thể để sử dụng làm mặc định trong khi khác với Không có
Vì vậy, hãy viết chương trình chèn giá trị Không có làm phần tử vào danh sách
print[help[list.sort]]7
đầu ra
print[help[list.sort]]8
Ở đây, lớp DoAppendNone đóng vai trò là tín hiệu không nối thêm, vì vậy bạn không muốn Không có. Điều đó giải phóng chúng tôi để chèn Không có bất cứ khi nào chúng tôi muốn
Kiểm tra Không sử dụng điều kiện if…else
Chúng ta có thể viết đoạn mã sau để kiểm tra xem giá trị có phải là Không
print[help[list.sort]]9
Trong ví dụ trên, chúng tôi đã xác định biến được gọi là giá trị và được gán giá trị Không có
Sau đó, chúng tôi đã sử dụng điều kiện if…else để kiểm tra giá trị Không và nếu đúng như vậy, hãy trả về câu lệnh in với “Giá trị là null. ”
Chúng ta có thể sử dụng đoạn mã sau để kiểm tra xem tên có tồn tại không
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.0
Chỉ có thể có một Không có trong Python
Không có gì là hằng số sẵn có ngay khi bạn khởi động Python, cho dù trong mô-đun, lớp hay hàm. Ngược lại, NonType thì không;
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.1
Không ai có thể được ghi đè
Trước Python 2. 4, có thể gán lại Không, nhưng không còn nữa. Thậm chí không phải là thuộc tính của lớp hoặc trong giới hạn của một chức năng
Kiểm tra xem giá trị có phải là Không
Tại sao làm điều này
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.2
còn hơn là
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.3
Đầu tiên là tương đương với
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.4
Trong khi biểu thức value==None được áp dụng như thế này,
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.5
nếu giá trị là Không, thì bạn sẽ nhận được những gì bạn mong đợi
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.6
Điều này là do không ai có trạng thái đặc biệt trong ngôn ngữ Python. Đó là một giá trị cơ sở ưa thích vì nhiều thuật toán coi nó là đặc biệt
Trong các tình huống như vậy, nó có thể được sử dụng làm cờ để báo hiệu rằng điều kiện yêu cầu xử lý đặc biệt, chẳng hạn như đặt giá trị mặc định
Không có trong Tracbacks
Khi Không có Loại nào xuất hiện trong truy nguyên của bạn, điều đó có nghĩa là thứ mà bạn không mong đợi là Không có đã là Không có và bạn đã cố sử dụng nó theo cách mà bạn không thể sử dụng Không có. Hầu như luôn luôn, đó là vì bạn đang cố gọi một phương thức trên đó
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.7
đầu ra
sort[self, /, *, key=None, reverse=False] Sort the list in ascending order and return None. The sort is in-place [i.e. the list itself is modified] and stable [i.e. the order of two equal elements is maintained]. If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.8
Khi chúng ta định nghĩa một danh sách với một số giá trị ban đầu, nó có thể gọi danh sách. append[] để thêm một phần tử vào danh sách, nhưng khi chúng ta xác định một danh sách thành Không có, điều đó có nghĩa là bây giờ danh sách đó không phải là danh sách Python truyền thống, danh sách đó hiện là Không có và đối tượng Không có đối tượng không có phần bổ sung[]
Khi bạn nhìn thấy dấu vết như trên trong mã của mình, hãy tìm thuộc tính đầu tiên gây ra lỗi. Ở đây, nó là một phương thức append[]. Tiếp theo, bạn sẽ thấy đối tượng bạn đã cố gọi từ đó. Cuối cùng, tìm ra cách đối tượng đó trở thành Không và thực hiện các bước cần thiết để sửa mã của bạn
Sự kết luận
Không ai trong Python là một từ khóa bất biến và công cụ mạnh mẽ như Đúng hay Sai. Không ai có thể được kiểm tra bằng cách sử dụng trong hoặc không trong toán tử. Trong truy vết, Không ai có thể giúp tìm ra vấn đề chính xác và chúng tôi có thể khắc phục bằng cách giải quyết vấn đề Null
Chỉ có thể có một Không có trong bất kỳ chương trình Python nào và ngay cả khi bạn tạo một thể hiện của lớp Không có Loại, thì chỉ có thể có một Không có
Đó là nó cho hướng dẫn này
Bài viết liên quan
Python kiểm tra nan
con trăn
Bài viết trước Matplotlib savefig. Hướng dẫn đầy đủ
Bài viết tiếp theo Mảng bộ lọc JavaScript. Hướng dẫn đầy đủ
kranal
https. //appdividend. com/
Krunal Lathiya là một kỹ sư công nghệ thông tin. Theo chuyên môn, anh ấy là một nhà phát triển web có kiến thức về nhiều nền tảng back-end [e. g. , PHP, Nút. js, Python] và các khung JavaScript giao diện người dùng [e. g. , Góc, Phản ứng và Vue]