Cách trả về null trong python

Tìm kiếm Null trong Python? . Tuy nhiên, Python có Không có, tương đương gần nhất với Null từ các ngôn ngữ lập trình khác. Hãy khám phá đối tượng Không có của Python

Nếu bạn đã quen thuộc với các ngôn ngữ lập trình khác như Java, JavaScript hoặc PHP, bạn có thể thắc mắc liệu Python có giá trị Null hoạt động giống như Null trong các ngôn ngữ khác không

Câu trả lời ngắn gọn là không có Null trong Python, nhưng có đối tượng Không có mà các lập trình viên Python sử dụng để xác định các đối tượng và biến null. Tuy nhiên, điều quan trọng là phải hiểu rằng mặc dù Không phục vụ một số mục đích giống như Null trong các ngôn ngữ khác, nhưng nó vẫn rất khác so với Null mà bạn có thể quen dùng.

Giá trị Null đặc biệt được sử dụng trong nhiều ngôn ngữ lập trình [e. g. C, Java, JavaScript, PHP] biểu thị một con trỏ trống, một giá trị không xác định hoặc một biến chưa được khởi tạo. Thông thường, Null được định nghĩa là 0 trong các ngôn ngữ này. Trong Python, Không ai có thể phục vụ các mục đích giống như Null nhưng nó không được xác định là 0 hoặc bất kỳ giá trị nào khác. Không ai trong Python là một đối tượng và là công dân hạng nhất

Trong bài viết này, tôi sẽ thảo luận về ý nghĩa của điều này và cách bạn có thể sử dụng Không có gì của Python một cách hiệu quả. Sau đó, bạn có thể bắt đầu thực hành Python ngay với Kiến thức cơ bản về Python của chúng tôi. Khóa học Phần 1, bao gồm các khái niệm chính ở cấp độ đầu vào với 95 bài tập tương tác

Không có gì trong Python. Lặn sâu

Hãy bắt đầu bằng cách xác định một vài điều mà Không có thì không. Nó không giống như Sai, mặc dù đối tượng Không có là sai [e. g. đánh giá là sai trong phép toán Boolean]. Ngoài ra, Không có không phải là một số không hoặc một chuỗi rỗng. Mọi so sánh với đối tượng Không trả về Sai, ngoại trừ so sánh Không với chính nó

Để giúp bạn hiểu đối tượng Không ai trong Python là gì, chúng ta sẽ xem qua một số trường hợp sử dụng, bao gồm

  • Gán Không cho một biến
  • Thử nghiệm cho Không
  • Nhận Không có đầu ra chức năng
  • Sử dụng Không làm tham số mặc định

Gán một đối tượng Không có cho một biến

Một số ngôn ngữ lập trình cho phép giới thiệu các biến mới thông qua khai báo mà không cần gán giá trị ban đầu rõ ràng. Giá trị ban đầu mặc định trong những trường hợp như vậy thường là Null

Trong Python, mọi thứ hoạt động rất khác. Để giới thiệu một biến mới, bạn cần gán một giá trị nhất định cho biến đó, giá trị này có thể là đối tượng Không có. Nếu bạn không gán bất kỳ giá trị nào cho một biến, biến đó được coi là không xác định và bạn sẽ nhận được một

None
6 khi đề cập đến nó

Ví dụ: hãy thử in một biến không xác định so với. một biến đã được gán một đối tượng Không có

print [employees]

đầu ra

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]

đầu ra

None

Tuy nhiên, một đối tượng Không có thể được sửa đổi, được tham chiếu bằng các phương thức Python hoặc được sử dụng với các toán tử. Nếu bạn đề cập đến một đối tượng Không có trong những trường hợp như vậy, bạn sẽ nhận được một

None
7. Ví dụ

employees = None
print[employees + 1]

đầu ra

TypeError Traceback [most recent call last]
 in []
----> 1 print[employees + 1]
TypeError: unsupported operand type[s] for +: 'NoneType' and 'int'

Như bạn có thể thấy trong quá trình truy nguyên, lỗi xảy ra do tham chiếu đến một đối tượng Không có

Kiểm tra nếu một biến là không có

Bạn có thể kiểm tra xem một biến có được gán Không hay không bằng cách sử dụng toán tử

None
8 và
None
9

employees = None
if employees is None:
    print["It is a None object."]
else:
    print["It is not a None object "]

đầu ra

It is a None object.

Lưu ý rằng điều quan trọng là sử dụng các toán tử nhận dạng [như

None
8 và
None
9] với các đối tượng Không có trong Python chứ không phải các toán tử đẳng thức như
employees = None
print[employees + 1]
2 và
employees = None
print[employees + 1]
3. Vấn đề là các toán tử đẳng thức có thể đưa ra kết quả sai khi bạn đang so sánh các đối tượng do người dùng xác định sẽ ghi đè chúng. Đây là một ví dụ

class EquityVsIdentity[]:
    def __eq__ [self, other]:
        return True

check = EquityVsIdentity[]
print[check == None]
print[check is None]

đầu ra

True
False

Ở đây, toán tử đẳng thức [“

employees = None
print[employees + 1]
2”] trả về câu trả lời sai vì nó bị ghi đè bởi một đối tượng do người dùng xác định, trong khi toán tử nhận dạng [
employees = None
print[employees + 1]
5] trả về kết quả đúng vì nó không thể bị ghi đè

Một điều thú vị khác cần lưu ý là đối tượng Không có gì là sai, bạn chỉ cần sử dụng câu lệnh if để kiểm tra xem biến đó có phải là Không có hay không

employees = None
if employees:
    print["It is not a None object."]
else:
    print["It is a None object."]

đầu ra

It is a None object.

Không có như một chức năng đầu ra

Trước hết, Không có là giá trị được trả về khi không có câu lệnh

employees = None
print[employees + 1]
6 trong một hàm. Hãy tạo một hàm không trả về bất kỳ giá trị nào và kiểm tra đầu ra của nó

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
1

đầu ra

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
2

Như bạn có thể thấy, hàm trên không trả về giá trị một cách rõ ràng. Python cung cấp một câu lệnh trả về ngầm định với giá trị trả về là Không có. Hãy xem hướng dẫn này về cách xác định hàm trong Python để tìm hiểu thêm về các trường hợp mà bạn có thể muốn hàm của mình thực hiện một số thao tác mà không trả về bất kỳ giá trị nào

Một số hàm trả về một đối tượng thực khi chúng có kết quả thực và Không có khi không có kết quả. Gói re để xử lý biểu thức chính quy trong Python có một số hàm như vậy

Bạn có thể kiểm tra xem hàm có trả về giá trị hay không bằng cách so sánh kết quả với Không. Ví dụ: hãy cùng khám phá đầu ra của hàm

employees = None
print[employees + 1]
7 của gói re khi không có kết quả khớp

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
3

đầu ra

Ở đây, tiếng Tây Ban Nha không nằm trong số ngôn ngữ mà người này nói. Do đó, khi tìm kiếm “tiếng Tây Ban Nha”, chúng tôi nhận được một đối tượng Không có. Chúng tôi đã kiểm tra và xác nhận rằng đầu ra của hàm

employees = None
print[employees + 1]
7 là Không có trong trường hợp này

Không có giá trị mặc định cho tham số tùy chọn

Cuối cùng, Không có gì thường được sử dụng làm giá trị mặc định cho tham số tùy chọn của hàm, đặc biệt khi bạn cần xử lý kiểu dữ liệu có thể thay đổi, chẳng hạn như danh sách. Nếu bạn đặt giá trị mặc định của tham số thành danh sách, danh sách này sẽ được cập nhật trong tất cả các lần gọi hàm tiếp theo mà không chỉ định tham số tùy chọn tương ứng – trong khi bạn thường muốn có một danh sách trống mới mỗi lần

Nó sẽ rõ ràng hơn sau một ví dụ. Chúng ta sẽ bắt đầu bằng cách tạo một hàm sử dụng danh sách làm giá trị mặc định cho tham số tùy chọn

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
4

đầu ra

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
5

Như bạn thấy, chúng ta đã tạo một hàm đặt một phần tử mới ở vị trí số 1 trong danh sách. Nó hoạt động tốt khi chúng tôi cung cấp tham số bắt đầu. Tuy nhiên, nếu chúng tôi không cung cấp tham số tùy chọn này, chúng tôi sẽ bắt đầu thấy hành vi không chính xác với mỗi lần gọi hàm mới

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
6

đầu ra

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
7

đầu ra

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
8

đầu ra

NameError Traceback [most recent call last]
 in []
----> 1 print [employees]
NameError: name 'employees' is not defined

employees = None
print [employees]
9

Vì danh sách là một loại đối tượng có thể thay đổi, chúng tôi nhận được một danh sách được cập nhật sau mỗi lần gọi hàm khi chúng tôi không chuyển một danh sách hiện có

Nếu bạn muốn có một danh sách mới với mỗi cuộc gọi, hãy cân nhắc sử dụng đối tượng Không có làm tham số mặc định

None
0

đầu ra

None
1

Trong chức năng này, chúng tôi kiểm tra xem danh sách bắt đầu có phải là Không có hay không; . Điều này đảm bảo rằng chúng tôi có hành vi chính xác khi chúng tôi không cung cấp danh sách bắt đầu cho chức năng

None
2

đầu ra

None
3

đầu ra

None
4

đầu ra

None
5

Bây giờ chúng tôi nhận được đầu ra chính xác, bất kể chúng tôi gọi hàm bao nhiêu lần. Đây chỉ là một ví dụ về cách một đối tượng Không có thể được sử dụng một cách hiệu quả làm giá trị mặc định cho tham số tùy chọn

Hãy thực hành Không có gì trong Python

Mặc dù Python không có giá trị Null như bạn có thể đã quen, nhưng nó có tất cả các công cụ cần thiết để xử lý các giá trị null. Hơn nữa, do cú pháp đơn giản và dễ làm theo của Python, bạn có thể học những điều cơ bản về Python rất nhanh chóng – có thể trong vòng chưa đầy một tháng. Điều quan trọng là thực hiện một cách tiếp cận có cấu trúc để nghiên cứu và thực hiện nhiều mã hóa

Nếu bạn chưa quen với Python, tôi khuyên bạn nên bắt đầu với khóa học Cơ bản về Python Phần 1. Trong 95 bài tập tương tác, bạn sẽ học cách chấp nhận thông tin đầu vào từ người dùng, sử dụng các biến và phép toán trong Python cũng như viết câu lệnh if, vòng lặp và hàm. Bạn cũng sẽ hiểu rõ hơn về loại Không. Bạn có thể đọc thêm về khóa học này trong bài viết tổng quan này

Khi bạn đã sẵn sàng để tìm hiểu thêm, hãy xem bài Học lập trình với Python. Nó bao gồm năm khóa học tương tác với hàng trăm thử thách mã hóa. Sau khi hoàn thành phần học tập này, bạn sẽ hiểu rõ về cấu trúc dữ liệu Python, bao gồm danh sách, bộ, từ điển và bộ dữ liệu. Bạn cũng sẽ cảm thấy thoải mái khi sử dụng các thuật toán và chức năng tích hợp chính, chẳng hạn như các thuật toán và chức năng được sử dụng để tìm kiếm và sắp xếp trong Python

Là null[] trong Python?

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 Đúng cho các giá trị NULL và nếu không thì Sai .

Bạn có thể trả lại giá trị rỗng không?

Trả về null thường vi phạm nguyên tắc lập trình lỗi nhanh . null có thể xuất hiện do một số vấn đề trong ứng dụng. Sự cố thậm chí có thể được đưa vào sản xuất nếu nhà phát triển chưa triển khai xử lý ngoại lệ thích hợp, điều này có thể giúp nhanh chóng phát hiện sự cố.

Python có thể trả về Không?

Từ khóa return trong Python cho phép bạn xác định giá trị trả về của một hàm [e. g. , trả về X ]. Nếu bạn không đặt giá trị trả về một cách rõ ràng hoặc bạn bỏ qua câu lệnh trả về, Python sẽ ngầm trả về giá trị mặc định sau. Không có .

Chủ Đề