Không có gì đúng trong Python?
Trong Python 2, Show
Trăn 2. x2. 0
Bạn không thể làm điều này với Trăn 2. x2. 4
Trong Python 3, Trăn 3. x3. 0 Khi bạn thực hiện val = Noneif not val0 để kiểm tra danh tính của val = Noneif not val1. Tôi. e, val = Noneif not val2 Ở đây, toán tử 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 val = Noneif not val3 là một singleton trong Python và tất cả các giá trị Nhưng…khi bạn nói val = Noneif not val6 không phải là một boolean, Python sẽ tự động gọi phương thức val = Noneif not val8 của val = Noneif not val6
val = []if not val0 Điều khó hiểu là, val = []if not val1 trả về val = []if not val2, vì vậy nếu val = Noneif not val6 là Không có. Điều này hoạt động như mong đợi nhưng có những giá trị khác được đánh giá là val = []if not val4 Ví dụ quan trọng nhất là danh sách trống. val = []if not val5 cũng trả về val = []if not val2. Thông thường, một danh sách trống có ý nghĩa khác với ______11_______7; . Về mặt ngữ nghĩa, chúng khác nhau 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ì có lẽ bạn đã nghe nói về khái niệm 4. Nhiều ngôn ngữ sử dụng điều này để biểu thị một con trỏ không trỏ đến bất cứ thứ 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. 4 thường được định nghĩa là 6 trong các ngôn ngữ đó, nhưng 4 trong Python thì khácPython sử dụng từ khóa 8 để định nghĩa các đối tượng và biến 4. Mặc dù 8 phục vụ một số mục đích giống như 4 trong các ngôn ngữ khác, nhưng nó hoàn toàn là một con quái vật khác. Vì 4 trong Python, 8 không được định nghĩa là 6 hoặc bất kỳ giá trị nào khác. Trong Python, 8 là một đối tượng và là công dân hạng nhấtTrong hướng dẫn này, bạn sẽ học
Tiền thưởng miễn phí. Nhấp vào đây để nhận Bảng cheat Python và tìm hiểu kiến thức cơ bản về Python 3, như làm việc với các kiểu dữ liệu, từ điển, danh sách và hàm Python Hiểu Null trong Python 8 là giá trị mà hàm trả về khi không có câu lệnh 3 trong hàm>>>
Khi bạn gọi 4, không có đầu ra nào cho bạn xem. Tuy nhiên, khi bạn in một cuộc gọi đến nó, bạn sẽ thấy _____19_______8 ẩn mà nó trả vềTrên thực tế, 8 thường xuyên xuất hiện dưới dạng giá trị trả về đến nỗi REPL của Python sẽ không in ra 8 trừ khi bạn nói rõ ràng với nó>>>
Bản thân 8 không có đầu ra, nhưng khi in nó sẽ hiển thị 8 trên bàn điều khiểnThật thú vị, bản thân 0 không có giá trị trả về. Nếu bạn cố in một cuộc gọi tới 0, thì bạn sẽ nhận được 8>>>
Nó có thể trông kỳ lạ, nhưng 3 cho bạn thấy 8 mà 0 bên trong trả lại 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, 8 xuất hiện hai lần trong tài liệu cho>>>
Ở đây, 8 là giá trị mặc định cho tham số 0 cũng như kiểu gợi ý cho giá trị trả về. Đầu ra chính xác của 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 khi chạy lệnh này trong trình thông dịch của mình, nhưng nó sẽ tương tựLoại bỏ các quảng cáoSử dụng đối tượng Null của Python >>> print(print("Hello, World!")) Hello, World! None 8Thông thường, bạn sẽ sử dụng 8 như một phần của phép so sánh. Một ví dụ là khi bạn cần kiểm tra và xem liệu một số kết quả hoặc tham số có phải là 8. Lấy kết quả bạn nhận được từ. Biểu thức chính quy của bạn có khớp với một chuỗi đã cho không?
Trong khối mã bên dưới, bạn đang kiểm tra xem mẫu 8 có khớp với một chuỗi không
Ở đây, bạn sử dụng 9 để kiểm tra xem mẫu có khớp với chuỗi 0 không. Khối mã này thể hiện một quy tắc quan trọng cần ghi nhớ khi bạn kiểm tra 8
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 sẽ ghi đè lên chúng
Ở đây, toán tử đẳng thức 4 trả về câu trả lời sai. Mặt khác, toán tử nhận dạng 2 không thể bị lừa vì bạn không thể ghi đè lên nóGhi chú. Để biết thêm thông tin về cách so sánh với 8, hãy xem Nên và Không nên. Đề xuất lập trình Python 8 là sai, có nghĩa là 0 là 1. Nếu tất cả những gì bạn muốn biết là liệu kết quả có sai hay không, thì một bài kiểm tra như sau là đủ
Đầu ra không cho bạn thấy rằng 2 chính xác là 8, chỉ có điều là sai. Nếu bạn phải biết mình có đối tượng 8 hay không, hãy sử dụng 2 và 3Các đối tượng sau đây đều là giả
Để biết thêm về phép so sánh, giá trị trung thực và giá trị giả, bạn có thể đọc về cách sử dụng toán tử 9 của Python, cách sử dụng toán tử 0 của Python và cách sử dụng toán tử 1 của PythonKhai báo biến Null trong PythonTrong một số ngôn ngữ, các biến xuất hiện từ một khai báo. Họ không cần phải có một giá trị ban đầu được gán cho họ. Trong các ngôn ngữ đó, giá trị mặc định ban đầu cho một số loại biến có thể là 4. Tuy nhiên, trong Python, các biến trở nên sống động từ các câu lệnh gán. Hãy xem khối mã sau>>>
Ở đây, bạn có thể thấy rằng biến có giá trị 8 khác với biến không xác định. Tất cả các biến trong Python đều tồn tại bằng cách gán. Một biến sẽ chỉ bắt đầu hoạt động như 4 trong Python nếu bạn gán 8 cho nóLoại bỏ các quảng cáoSử dụng >>> print(print("Hello, World!")) Hello, World! None 8 làm Tham số mặc địnhThông thường, bạn sẽ sử dụng 8 làm giá trị mặc định cho tham số tùy chọn. Có một lý do rất chính đáng để sử dụng 8 ở đây thay vì một loại có thể thay đổi chẳng hạn như danh sách. Hãy tưởng tượng một chức năng như thế này
9 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ó>>>
Ở đây, bạn thêm 00 vào cuối danh sách mà không gặp vấn đề gìNhưng nếu bạn gọi hàm này một vài lần mà không có tham số 01, thì bạn bắt đầu thấy hành vi không chính xác>>> 0Giá trị mặc định cho 01 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 giá trị đó mỗi khi bạn không chuyển danh sách hiện cóCách đúng đắn để xây dựng chức năng này là sử dụng 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 nếu cần>>> 1 04 hoạt động như bạn muốn bằng cách tạo một danh sách mới với mỗi cuộc gọi mà bạn không chuyển danh sách hiện có. Nó hoạt động vì mã của bạn sẽ thực thi dòng 2 và 3 mỗi khi nó gọi hàm với tham số mặc địnhSử dụng >>> print(print("Hello, World!")) Hello, World! None 8 làm Giá trị Null trong PythonBạn sẽ làm gì khi 8 là một đối tượng đầu vào hợp lệ? >>> 2Ở đây, lớp 10 đóng vai trò là tín hiệu không nối thêm, vì vậy bạn không cần 8 cho điều đó. Điều đó giải phóng bạn để thêm 8 khi bạn muốnBạn có thể sử dụng kỹ thuật này khi 8 cũng có khả năng trả về giá trị. Chẳng hạn, trả về 8 theo mặc định nếu không tìm thấy khóa trong từ điển. Nếu 8 là một giá trị hợp lệ trong từ điển của bạn, thì bạn có thể gọi 14 như thế này>>> 3Ở đây bạn đã xác định một lớp tùy chỉnh 18. Bây giờ, thay vì trả về 8 khi từ khóa không có trong từ điển, bạn có thể trả về 18. Điều đó giải phóng bạn để trả về 8 khi đó là giá trị thực tế trong từ điểnGiải mã >>> print(print("Hello, World!")) Hello, World! None 8 trong TracebackKhi 9 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à 8 thực sự là 8 và bạn đã cố sử dụng nó theo cách mà bạn không thể sử dụng 8. Hầu như luôn luôn, đó là vì bạn đang cố gọi một phương thức trên đóChẳng hạn, bạn đã gọi 27 trên 28 nhiều lần ở trên, nhưng nếu 28 bằng cách nào đó trở thành bất kỳ thứ gì khác ngoài danh sách, thì 27 sẽ thất bại>>> 4Ở đây, mã của bạn tăng 31 rất phổ biến vì đối tượng cơ bản, 28, không còn là danh sách nữa. Bạn đã đặt nó thành 8, mà không biết cách 27, và vì vậy mã sẽ đưa ra một ngoại lệKhi bạn nhìn thấy dấu vết như thế này trong mã của mình, trước tiên hãy tìm thuộc tính gây ra lỗi. Đây, là 27. Từ đó, bạn sẽ thấy đối tượng mà bạn đã cố gọi nó. Trong trường hợp này, đó là 28, như bạn có thể biết từ mã ngay phía trên truy nguyên. Cuối cùng, tìm ra cách đối tượng đó trở thành 8 và thực hiện các bước cần thiết để sửa mã của bạnLoại bỏ các quảng cáoKiểm tra Null trong PythonCó hai trường hợp kiểm tra loại mà bạn sẽ quan tâm về 4 trong Python. Trường hợp đầu tiên là khi bạn>>> 5Trường hợp này tương tự như khi bạn không có câu lệnh 3 nào cả, câu lệnh này trả về 8 theo mặc địnhTrường hợp thứ hai khó hơn một chút. Đó là nơi bạn đang lấy hoặc trả về một giá trị có thể là 8, nhưng cũng có thể là một loại (đơn) nào đó. Trường hợp này giống như những gì bạn đã làm với 5 ở trên, nó trả về một đối tượng 6 hoặc 8Quá trình tương tự đối với các tham số 6Bạn sửa đổi 04 ở trên và nhập 47 từ 48 để trả lại một 49Nhìn dưới mui xeTrong nhiều ngôn ngữ khác, 4 chỉ là một từ đồng nghĩa với 6, nhưng 4 trong Python là một đối tượng chính thức>>> 7Dòng này cho thấy rằng 8 là một đối tượng và loại của nó là 9Bản thân 8 được tích hợp vào ngôn ngữ dưới dạng 4 trong Python>>> 8Tại đây, bạn có thể thấy 8 trong danh sách 58 là từ điển mà thông dịch viên giữ cho mô-đun 59 8 là một từ khóa, giống như 1 và 8. Nhưng vì điều này, bạn không thể liên hệ trực tiếp với 8 từ 58 như bạn có thể, ví dụ: 65. Tuy nhiên, bạn có thể lấy nó bằng một mẹo>>> 9Khi bạn sử dụng _______44_______66, bạn có thể lấy _______19_______8 thực tế từ _______44_______58, điều mà bạn không thể thực hiện bằng cách chỉ yêu cầu nó với _______44_______70 Mặc dù Python in từ 9 trong nhiều thông báo lỗi, nhưng 9 không phải là mã định danh trong Python. Nó không có trong 59. Bạn chỉ có thể đạt được nó với 74 8 là một người độc thân. Nghĩa là, lớp 9 chỉ cung cấp cho bạn cùng một phiên bản duy nhất của 8. Chỉ có một 8 trong chương trình Python của bạn>>> 0Ngay cả khi bạn cố gắng tạo một phiên bản mới, bạn vẫn nhận được phiên bản 8 hiện cóBạn có thể chứng minh rằng 8 và 81 là cùng một đối tượng bằng cách sử dụng>>> 1Ở đây, thực tế là 83 xuất ra cùng một giá trị số nguyên cho cả 8 và 81, trên thực tế, chúng là cùng một đối tượngGhi chú. Giá trị thực do 83 tạo ra sẽ khác nhau giữa các hệ thống và thậm chí giữa các lần thực thi chương trình. Trong CPython, thời gian chạy Python phổ biến nhất, 82 thực hiện công việc của mình bằng cách báo cáo địa chỉ bộ nhớ của một đối tượng. Hai đối tượng sống ở cùng một địa chỉ bộ nhớ là cùng một đối tượngNếu bạn cố gán cho 8, thì bạn sẽ nhận được một 89>>> 2Tất cả các ví dụ trên cho thấy rằng bạn không thể sửa đổi 8 hoặc 9. Chúng là những hằng số thựcBạn cũng không thể phân lớp 9>>> 3Truy nguyên này cho thấy rằng trình thông dịch sẽ không cho phép bạn tạo một lớp mới kế thừa từ 74Loại bỏ các quảng cáoPhần kết luận 8 là một công cụ mạnh mẽ trong hộp công cụ Python. Giống như 1 và 8, 8 là một từ khóa bất biến. Là 4 trong Python, bạn sử dụng nó để đánh dấu các giá trị và kết quả còn thiếu, và thậm chí cả các tham số mặc định, nơi đây là lựa chọn tốt hơn nhiều so với các loại có thể thay đổiBây giờ bạn có thể
Làm thế nào để bạn sử dụng 4 trong Python? Đánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Python không có. Null trong Python 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Về Sói Wolf là một Pythonista cuồng nhiệt và viết cho Real Python » Thông tin thêm về SóiMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Geir Arne Jaya Joanna Mike Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi Không ai đánh giá là đúng trong Python?Tuy nhiên, Không có giá trị nào là Sai , vì vậy toán tử hoặc trả về giá trị "True" đầu tiên, là giá trị thứ hai. Chúng ta phải sửa đổi mã để cả hai đối số hoặc đều đúng.
Không ai đánh giá là TRUE?None là một giá trị Python đặc biệt giữ một vị trí khi không có gì để nói. Nó không giống với giá trị boolean False , mặc dù giá trị này có vẻ sai khi được đánh giá là boolean .
Là Không và == Không có Python?None là một đối tượng đơn lẻ (chỉ tồn tại một None ). là kiểm tra xem đối tượng có phải là cùng một đối tượng hay không, trong khi == chỉ kiểm tra xem chúng có tương đương hay không . Nhưng vì chỉ có một None nên chúng sẽ luôn giống nhau và is sẽ trả về True.
Không ai được coi là sai trong Python?Bool(None) là Sai , vì vậy không có gì ngạc nhiên khi mã không trả về bất kỳ thứ gì. Tuy nhiên, x đã được gán giá trị là Không nên câu lệnh thứ hai cũng là Sai và mã không trả về gì cả. Để kiểm tra xem các câu lệnh có tương đương nhau hay không, chúng ta có thể chạy thêm một vài câu lệnh thông qua python để kiểm tra. |