Hướng dẫn check none in python - không kiểm tra trong python
Trong số này không phải là không có bài kiểm tra.
Cái nào thích hợp hơn, và tại sao? LOSPEJOS 1.9683 huy hiệu vàng19 Huy hiệu bạc33 Huy hiệu đồng3 gold badges19 silver badges33 bronze badges Hỏi ngày 19 tháng 10 năm 2010 lúc 3:20Oct 19, 2010 at 3:20 Prosseekprosseeekprosseek Phim thương hiệu vàng 174K200549 Huy hiệu bạc848 Huy hiệu đồng200 gold badges549 silver badges848 bronze badges 2
là thành ngữ pythonic để kiểm tra rằng một biến không được đặt thành 1. Thành ngữ này có cách sử dụng đặc biệt trong trường hợp khai báo các chức năng từ khóa với các tham số mặc định. 2 Kiểm tra danh tính trong Python. Bởi vì có một và chỉ một phiên bản của 1 có trong tập lệnh/chương trình Python đang chạy, 2 là thử nghiệm tối ưu cho việc này. Như Johnsyweb chỉ ra, điều này được thảo luận trong PEP 8 theo "Khuyến nghị lập trình".Về lý do tại sao điều này được ưu tiên hơn
Đây chỉ đơn giản là một phần của Zen of Python: "Khả năng đọc." Python tốt thường gần với mã giả tốt. Đã trả lời ngày 19 tháng 10 năm 2010 lúc 3:24Oct 19, 2010 at 3:24 9 Từ, Khuyến nghị lập trình, PEP 8:
PEP 8 là cách đọc cần thiết cho bất kỳ lập trình viên Python nào. Đã trả lời ngày 19 tháng 10 năm 2010 lúc 3:35Oct 19, 2010 at 3:35 Johnsywebjohnsywebjohnsyweb Huy hiệu vàng 132K2323 gold badges178 silver badges239 bronze badges 0 Đặt cược tốt nhất với các loại câu hỏi này là xem chính xác những gì Python làm. Mô -đun 9 là vô cùng thông tin:
Lưu ý rằng hai trường hợp cuối cùng giảm xuống cùng một chuỗi hoạt động, Python đọc 0 và sử dụng toán tử 6. Đầu tiên sử dụng toán tử 2 khi so sánh với 1.Như đã chỉ ra bởi các câu trả lời khác, sử dụng 2 khi so sánh với 1 là một ý tưởng tồi.Đã trả lời ngày 20 tháng 10 năm 2013 lúc 19:44Oct 20, 2013 at 19:44 SheetJSsheetjsSheetJS 21.7K12 Huy hiệu vàng63 Huy hiệu bạc75 Huy hiệu đồng12 gold badges63 silver badges75 bronze badges 2 Một trong hai phần sau, vì 6 có khả năng có thể thuộc loại xác định 7 để trả về true khi được thông qua 1.Đã trả lời ngày 19 tháng 10 năm 2010 lúc 3:23Oct 19, 2010 at 3:23 1 Kiểm tra xem một biến không có trong Python #Sử dụng toán tử
Câu lệnh Bạn nên sử dụng toán tử 2 khi bạn cần kiểm tra xem biến có lưu trữ giá trị 1 không.Khi chúng tôi sử dụng 2, chúng tôi kiểm tra danh tính của đối tượng.Hướng dẫn theo phong cách PEP 8 đề cập rằng so sánh với các đơn lẻ như 1 luôn luôn được thực hiện với 2 hoặc 6 và không bao giờ là người vận hành bình đẳng.Sử dụng các toán tử bình đẳng (bằng Copied! Copied! Dưới đây là một ví dụ minh họa tốt hơn việc kiểm tra danh tính ( 2) so với kiểm tra bình đẳng (3).
Chúng tôi đã tuyên bố 2 biến lưu trữ cùng một danh sách. Chúng tôi đặt biến thứ hai thành biến thứ nhất, vì vậy cả hai biến đều chỉ vào cùng một đối tượng 8 trong bộ nhớ. Bây giờ, hãy tạo một bản sao nông của danh sách và gán nó cho biến thứ hai.
Lưu ý rằng kiểm tra danh tính không thành công. Mặc dù hai danh sách lưu trữ cùng một giá trị, theo cùng một thứ tự, chúng chỉ ra các vị trí khác nhau trong bộ nhớ (chúng không phải là cùng một đối tượng). Khi chúng tôi sử dụng toán tử bằng kép, Python gọi phương thức 7 trên đối tượng.Đó là 0 gọi 1. Về lý thuyết, phương pháp này có thể được thực hiện theo cách không thể đoán trước, vì vậy việc kiểm tra 1 với toán tử 2 trực tiếp hơn.Bạn có thể sử dụng hàm id () để có được danh tính của một đối tượng.
Hàm trả về một số nguyên, được đảm bảo là duy nhất và không đổi cho tuổi thọ của đối tượng. Hàm 4 trả về địa chỉ của đối tượng trong bộ nhớ trong cpython. Nếu hai biến đề cập đến cùng một đối tượng, hàm 4 sẽ tạo ra cùng một kết quả.
Chuyển giá trị 1 cho hàm 4 luôn luôn trả về kết quả tương tự vì chỉ có một trường hợp của 1 trong chương trình Python.
Bạn cũng có thể thấy các ví dụ trực tuyến kiểm tra sự thật. 0Tuy nhiên, điều này rất khác so với kiểm tra rõ ràng nếu một biến lưu trữ giá trị 1 vì có nhiều giá trị giả khác không phải là 1.Tất cả các giá trị không phải là sự thật được coi là giả mạo.Các giá trị giả trong Python là:
Nếu bạn kiểm tra xem một biến có phải là sự thật hay không, bạn đang kiểm tra xem biến không phải là bất kỳ giá trị giả nào đã nói ở trên, không chỉ 1. |