Hướng dẫn python or operator - python hoặc toán tử
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 để hiểu sâu hơn về sự hiểu biết của bạn: Sử dụng Python hoặc toán tử This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Using the Python or Operator Show
Có ba toán tử Boolean trong Python: 9, 0 và 1. Với họ, bạn có thể kiểm tra các điều kiện và quyết định đường dẫn thực hiện của bạn sẽ đi. Trong hướng dẫn này, bạn sẽ tìm hiểu về toán tử Python 0 và cách sử dụng nó.Đến cuối hướng dẫn này, bạn sẽ học được:
Bạn sẽ học cách sử dụng nhà điều hành Python 0 bằng cách xây dựng một số ví dụ thực tế. Ngay cả khi bạn không thực sự sử dụng tất cả các khả năng mà nhà điều hành Python 0 cung cấp, việc làm chủ nó sẽ cho phép bạn viết mã tốt hơn.Logic booleanGeorge Boole (1815 Từ1864) đã phát triển cái mà ngày nay được gọi là Đại số Boolean, là nền tảng của logic kỹ thuật số đằng sau phần cứng máy tính và ngôn ngữ lập trình.Boolean algebra, which is the foundation of the digital logic behind computer hardware and programming languages. Đại số Boolean được xây dựng xung quanh giá trị sự thật của các biểu thức và đối tượng (cho dù chúng là đúng hay sai) và dựa trên các hoạt động boolean 9, 0 và 1. Các hoạt động này được thực hiện thông qua các toán tử logic hoặc boolean cho phép bạn tạo các biểu thức boolean, là các biểu thức đánh giá là đúng hoặc sai.truth value of expressions and objects (whether they are true or false) and
is based in the Boolean operations 9, 0, and 1. These operations are implemented through logical or Boolean operators that allow you to create Boolean expressions, which are expressions that evaluate to true or false.Với sự trợ giúp của logic Boolean, bạn có thể đánh giá các điều kiện và quyết định những hoạt động của các chương trình của bạn sẽ thực hiện, tùy thuộc vào giá trị sự thật của các điều kiện đó. Đây là một nền tảng quan trọng trong lập trình và cung cấp cho bạn các công cụ để quyết định luồng thực thi các chương trình của bạn. Hãy cùng xem một số khái niệm cơ bản liên quan đến logic Boolean trong Python:
Bây giờ bạn có một bối cảnh tốt hơn về logic Boolean, hãy để tiến hành một số chủ đề cụ thể của Python hơn. Các nhà khai thác Boolean PythonPython có ba toán tử boolean được gõ dưới dạng từ tiếng Anh đơn giản:
Các toán tử này kết nối các biểu thức boolean (và đối tượng) để tạo các biểu thức boolean hợp chất. Các nhà khai thác Python Boolean luôn lấy hai biểu thức boolean hoặc hai đối tượng hoặc kết hợp chúng, vì vậy họ đã xem xét các nhà khai thác nhị phân.binary operators. Trong hướng dẫn này, bạn sẽ bao gồm toán tử Python 0, là nhà điều hành thực hiện hoạt động logic 0 trong Python. Bạn sẽ học cách nó hoạt động và cách sử dụng nó.Cách thức hoạt động của nhà điều hành Python >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0Với toán tử boolean 0, bạn có thể kết nối hai biểu thức boolean thành một biểu thức hợp chất. Ít nhất một biểu hiện phụ phải đúng với biểu thức ghép được coi là đúng, và nó không quan trọng. Nếu cả hai biểu hiện phụ là sai, thì biểu thức là sai.Đây là logic chung đằng sau toán tử 0. Tuy nhiên, toán tử Python 0 làm tất cả điều này và hơn thế nữa, như bạn sẽ thấy trong các phần sau.Sử dụng >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0 với các biểu thức booleanBạn sẽ cần hai biểu thức phụ để tạo biểu thức boolean bằng toán tử Python 0 làm đầu nối. Cú pháp cơ bản cho biểu thức boolean với 0 như sau:
Nếu ít nhất một trong các biểu thức phụ ( 6 hoặc 7) đánh giá thành 2, thì biểu thức được coi là 2. Nếu cả hai biểu thức phụ đánh giá thành 3, thì biểu thức là 3. Định nghĩa này được gọi là bao gồm hoặc, vì nó cho phép cả hai khả năng cũng như.inclusive or, since it allows both
possibilities as well as either.Tại đây, một bản tóm tắt về hành vi của nhà điều hành Python 0:
Bảng 1. Nhà điều hành Python 0 Operator: Truth TableBảng này tóm tắt giá trị sự thật kết quả của một biểu thức boolean như 5 tùy thuộc vào các giá trị sự thật của biểu hiện phụ của nó.Hãy để minh họa các giá trị sự thật kết quả được hiển thị trong Bảng 1 bằng cách mã hóa một số ví dụ thực tế:Table 1 by coding some practical examples: >>>
Trong các ví dụ trước, bất cứ khi nào biểu hiện phụ được đánh giá thành 2, kết quả toàn cầu là 2. Mặt khác, nếu cả hai biểu hiện phụ được đánh giá thành 3, thì kết quả toàn cầu cũng là 3.Sử dụng >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0 với các đối tượng phổ biếnNói chung, các toán hạng của một biểu thức liên quan đến hoạt động 0 nên có các giá trị boolean như trong Bảng 1 và kết quả là trả về giá trị sự thật. Khi nói đến các đối tượng, Python không nghiêm ngặt lắm về điều đó và nội bộ thực hiện một bộ quy tắc để quyết định xem một đối tượng có được coi là đúng hay sai hay không:Table 1 and return a truth value as a result. When it comes to objects, Python is not very strict about that and internally implements a set of rules to decide if an object is considered true or false:
Nếu các toán hạng liên quan đến hoạt động 0 là các đối tượng thay vì các biểu thức boolean, thì toán tử Python 0 sẽ trả về một đối tượng đúng hoặc sai, không phải là các giá trị 2 hoặc 3 như bạn có thể mong đợi. Giá trị sự thật của đối tượng này được xác định theo các quy tắc mà bạn đã thấy trước đó.Điều này có nghĩa là Python không ép buộc kết quả của hoạt động 0 đối với đối tượng 4. Nếu bạn đang thử nghiệm hai đối tượng bằng cách sử dụng 0 trong Python, thì toán tử sẽ trả về đối tượng đầu tiên đánh giá thành True hoặc đối tượng cuối cùng trong biểu thức, bất kể giá trị sự thật của nó:>>>
Trong các ví dụ trước, bất cứ khi nào biểu hiện phụ được đánh giá thành 2, kết quả toàn cầu là 2. Mặt khác, nếu cả hai biểu hiện phụ được đánh giá thành 3, thì kết quả toàn cầu cũng là 3.Sử dụng 0 với các đối tượng phổ biếnNói chung, các toán hạng của một biểu thức liên quan đến hoạt động 0 nên có các giá trị boolean như trong Bảng 1 và kết quả là trả về giá trị sự thật. Khi nói đến các đối tượng, Python không nghiêm ngặt lắm về điều đó và nội bộ thực hiện một bộ quy tắc để quyết định xem một đối tượng có được coi là đúng hay sai hay không:
Trong hai ví dụ đầu tiên, các toán hạng đầu tiên ( 0 Operator Behavior When Testing Objects Instead of Boolean ExpressionsTrong hai ví dụ cuối cùng, toán hạng bên trái là sai (một đối tượng trống). Toán tử Python 0 đánh giá cả hai toán hạng và trả về đối tượng ở bên phải, có thể đánh giá thành đúng hoặc sai.Bạn có thể tóm tắt hành vi được hiển thị trong mã trước như sau: Đối tượng trái Đối tượng đúngKết quả của 23
Bảng này tóm tắt giá trị sự thật kết quả của một biểu thức boolean như 0 Operator Behavior When Testing Objects and Boolean ExpressionsHãy để minh họa các giá trị sự thật kết quả được hiển thị trong Bảng 1 bằng cách mã hóa một số ví dụ thực tế: >>>
Trong các ví dụ trước, bất cứ khi nào biểu hiện phụ được đánh giá thành 2, kết quả toàn cầu là 2. Mặt khác, nếu cả hai biểu hiện phụ được đánh giá thành 3, thì kết quả toàn cầu cũng là 3.Case 1 and Case 2, the subexpression 50 was evaluated to 2, and the returned value was 2. On the other hand, in Case 3 and
Case 4, the subexpression 53 was evaluated to 3, so the last operand was returned, and you got an empty list ( 08) and an integer ( 56) instead of 2 or 3.Là một bài tập, bạn có thể cố gắng mở rộng Bảng 3 bằng cách đảo ngược thứ tự của các biểu thức trong cột thứ ba, nghĩa là sử dụng 59 và cố gắng dự đoán kết quả.Table 3 by reversing the order of the expressions in the third column, that is, use 59 and try to predict the results.Đánh giá ngắn mạchPython đôi khi có thể xác định giá trị sự thật của biểu thức boolean trước khi nó đánh giá tất cả các biểu hiện phụ và các đối tượng liên quan. Chẳng hạn, nhà điều hành Python 0 dừng việc đánh giá các toán hạng ngay khi nó tìm thấy một cái gì đó mà Lừa coi là đúng. Ví dụ: biểu thức sau luôn là 2:>>>
Nếu toán hạng đầu tiên trong biểu thức 0 đánh giá là TRUE, bất kể giá trị của toán hạng thứ hai ( 63 là 3), thì biểu thức được coi là đúng và toán hạng thứ hai không bao giờ được đánh giá. Điều này được gọi là đánh giá ngắn mạch (lười biếng).short-circuit (lazy) evaluation.Hãy xem xét một ví dụ khác: >>>
Nếu toán hạng đầu tiên trong biểu thức 0 đánh giá là TRUE, bất kể giá trị của toán hạng thứ hai ( 63 là 3), thì biểu thức được coi là đúng và toán hạng thứ hai không bao giờ được đánh giá. Điều này được gọi là đánh giá ngắn mạch (lười biếng).Case 1, Python evaluated 65. Since it returns 2, the next operand ( 67) is not evaluated. Notice that the phrase 68 is never printed. Finally, the whole expression is considered 2.Hãy xem xét một ví dụ khác: evaluates both functions, because the first operand ( 67) is 3. Then the operator returns the second result, that is, the value returned by 65, which is 2.Trong trường hợp 1, Python đã đánh giá 3. The operation returns the last function’s return value, that is 3, and the expression is considered to be 3.Trường hợp 2 đánh giá cả hai chức năng, vì toán hạng đầu tiên ( 67) là 3. Sau đó, toán tử trả về kết quả thứ hai, nghĩa là giá trị được trả về bởi 65, đó là 2.Case 4, Python only evaluates the first function, which is 2, and the expression is 2.Trường hợp 3 đánh giá cả hai chức năng, vì cả hai trả về 3. Hoạt động trả về giá trị trả về hàm cuối cùng, đó là 3 và biểu thức được coi là 3.short-circuit (lazy) evaluation, the second operand on a Boolean expression is not evaluated if the value of the expression can be determined from the first operand alone. Python
(like other languages) bypasses this second evaluation in favor of performance, because evaluating the second operand would be an unnecessary waste of CPU time.Trong trường hợp 4, Python chỉ đánh giá hàm đầu tiên, đó là 2 và biểu thức là 2.
Các biểu thức ở phía bên phải của nhà điều hành Python >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0 có thể gọi các chức năng thực hiện công việc quan trọng hoặc quan trọng hoặc có tác dụng phụ đã giành được nếu quy tắc ngắn mạch có hiệu lực.Điều kiện có nhiều khả năng đúng hơn có thể là điều kiện nhất bên trái. Cách tiếp cận này có thể giảm thời gian thực hiện các chương trình của bạn, bởi vì cách này Python có thể xác định xem điều kiện có đúng chỉ bằng cách đánh giá toán hạng đầu tiên hay không. Phần tóm tắt
Nó tuân theo một tập hợp các quy tắc nội bộ được xác định trước để xác định giá trị sự thật của một đối tượng. Nó ngừng đánh giá các toán hạng ngay khi nó tìm thấy một cái gì đó mà Lừa coi là đúng. Điều này được gọi là đánh giá ngắn mạch hoặc lười biếng.Bây giờ, thời gian để tìm hiểu nơi và cách bạn có thể sử dụng toán tử này với sự trợ giúp của một số ví dụ. Bối cảnh Boolean
3 Báo cáo: Thực thi có điều kiện 4 Vòng lặp: Lặp lại có điều kiệnVới một tuyên bố 3, bạn có thể quyết định đường dẫn thực hiện của các chương trình tùy thuộc vào giá trị sự thật của một số điều kiện.control flow statements. They help you decide your programs’ execution path.Mặt khác, các vòng lặp 4 cho phép bạn lặp lại một đoạn mã miễn là một điều kiện nhất định vẫn đúng.>>> True or 4 < 3 True 3 Báo cáoHãy nói rằng bạn muốn đảm bảo rằng một trong hai điều kiện (hoặc cả hai) là đúng trước khi bạn chọn một đường dẫn thực hiện nhất định. Trong trường hợp này, bạn có thể sử dụng toán tử Python 0 để kết nối các điều kiện trong một biểu thức và sử dụng biểu thức đó trong câu lệnh 3.Giả sử bạn cần nhận được xác nhận từ người dùng để chạy một số hành động tùy thuộc vào câu trả lời của người dùng: >>>
Tại đây, bạn nhận được đầu vào của người dùng và gán nó cho 00. Sau đó, câu lệnh 3 bắt đầu kiểm tra các điều kiện từ trái sang phải. Nếu ít nhất một trong số chúng được đánh giá là TRUE, thì nó sẽ thực thi khối mã 3. Tuyên bố 03 làm như vậy.Trong cuộc gọi đầu tiên đến 04, đầu vào của người dùng là 25, thỏa mãn điều kiện đầu tiên và khối mã 3 đã được thực thi. Trong cuộc gọi thứ hai, đầu vào của người dùng ( 07) đã thỏa mãn điều kiện thứ hai, vì vậy khối mã 03 đã chạy. Nếu đầu vào của người dùng không thỏa mãn bất kỳ điều kiện nào, thì không có khối mã nào được thực thi.Một ví dụ khác có thể là khi bạn đang cố gắng xác định xem một số nằm ngoài phạm vi. Trong trường hợp này, nó cũng có thể sử dụng toán tử Python 0. Mã sau đây kiểm tra xem 24 có nằm ngoài phạm vi 11 đến 12:>>>
Tại đây, bạn nhận được đầu vào của người dùng và gán nó cho 00. Sau đó, câu lệnh 3 bắt đầu kiểm tra các điều kiện từ trái sang phải. Nếu ít nhất một trong số chúng được đánh giá là TRUE, thì nó sẽ thực thi khối mã 3. Tuyên bố 03 làm như vậy.Trong cuộc gọi đầu tiên đến 04, đầu vào của người dùng là 25, thỏa mãn điều kiện đầu tiên và khối mã 3 đã được thực thi. Trong cuộc gọi thứ hai, đầu vào của người dùng ( 07) đã thỏa mãn điều kiện thứ hai, vì vậy khối mã 03 đã chạy. Nếu đầu vào của người dùng không thỏa mãn bất kỳ điều kiện nào, thì không có khối mã nào được thực thi.Một ví dụ khác có thể là khi bạn đang cố gắng xác định xem một số nằm ngoài phạm vi. Trong trường hợp này, nó cũng có thể sử dụng toán tử Python >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0. Mã sau đây kiểm tra xem >>> exp1 = 1 == 2 >>> exp1 False >>> exp2 = 7 > 3 >>> exp2 True >>> exp1 or exp2 # Return True, because exp2 is True True >>> exp2 or exp1 # Also returns True True >>> exp3 = 3 < 1 >>> exp1 or exp3 # Return False, because both are False False 24 có nằm ngoài phạm vi >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 11 đến >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 12:Khi bạn gọi 13 với 14, câu lệnh 3 kiểm tra 16, đó là 3. Sau đó, nó kiểm tra 18, cũng là 3. Kết quả cuối cùng là 3, do đó khối 21 đã được thực thi.Mặt khác, 22 được đánh giá là 2. Sau đó, toán tử Python 0 thực hiện đánh giá ngắn mạch và điều kiện được coi là 2. Khối chính được thực thi và giá trị nằm ngoài phạm vi.
4 vòng lặp>>> True or 4 < 3 True 4 Vòng lặp là một ví dụ khác về bối cảnh Boolean nơi bạn có thể sử dụng toán tử Python >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0. Bằng cách sử dụng >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0 trong tiêu đề vòng lặp, bạn có thể kiểm tra một số điều kiện và chạy cơ thể cho đến khi tất cả các điều kiện đánh giá là sai.Giả sử bạn cần đo nhiệt độ vận hành của một số thiết bị công nghiệp cho đến khi nó vào phạm vi từ 100 ºF đến 140 ºF. Để làm như vậy, bạn có thể sử dụng vòng lặp 4:Đây là một ví dụ đồ chơi gần như trong mã giả, nhưng nó minh họa ý tưởng. Ở đây, vòng 4 đang chạy cho đến khi 32 nằm trong khoảng từ 100 ºF và 140 ºF. Nếu giá trị nhiệt độ nằm ngoài phạm vi, thì cơ thể vòng lặp được chạy và bạn sẽ đo nhiệt độ một lần nữa. Khi 33 trả về giá trị từ 100 ºF và 140 ºF, vòng lặp hoàn thiện. Việc đo nhiệt độ được thực hiện cứ sau 30 giây bằng cách sử dụng 34.>>>
Tại đây, bạn nhận được đầu vào của người dùng và gán nó cho 00. Sau đó, câu lệnh 3 bắt đầu kiểm tra các điều kiện từ trái sang phải. Nếu ít nhất một trong số chúng được đánh giá là TRUE, thì nó sẽ thực thi khối mã 3. Tuyên bố 03 làm như vậy.Trong cuộc gọi đầu tiên đến 04, đầu vào của người dùng là 25, thỏa mãn điều kiện đầu tiên và khối mã 3 đã được thực thi. Trong cuộc gọi thứ hai, đầu vào của người dùng ( 07) đã thỏa mãn điều kiện thứ hai, vì vậy khối mã 03 đã chạy. Nếu đầu vào của người dùng không thỏa mãn bất kỳ điều kiện nào, thì không có khối mã nào được thực thi.Một ví dụ khác có thể là khi bạn đang cố gắng xác định xem một số nằm ngoài phạm vi. Trong trường hợp này, nó cũng có thể sử dụng toán tử Python >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 0. Mã sau đây kiểm tra xem >>> exp1 = 1 == 2 >>> exp1 False >>> exp2 = 7 > 3 >>> exp2 True >>> exp1 or exp2 # Return True, because exp2 is True True >>> exp2 or exp1 # Also returns True True >>> exp3 = 3 < 1 >>> exp1 or exp3 # Return False, because both are False False 24 có nằm ngoài phạm vi >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 11 đến >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 12:Khi bạn gọi 13 với 14, câu lệnh 3 kiểm tra 16, đó là 3. Sau đó, nó kiểm tra 18, cũng là 3. Kết quả cuối cùng là 3, do đó khối 21 đã được thực thi.>>> 0Tại đây, bạn nhận được đầu vào của người dùng và gán nó cho 00. Sau đó, câu lệnh 3 bắt đầu kiểm tra các điều kiện từ trái sang phải. Nếu ít nhất một trong số chúng được đánh giá là TRUE, thì nó sẽ thực thi khối mã 3. Tuyên bố 03 làm như vậy.Trong cuộc gọi đầu tiên đến 04, đầu vào của người dùng là 25, thỏa mãn điều kiện đầu tiên và khối mã 3 đã được thực thi. Trong cuộc gọi thứ hai, đầu vào của người dùng ( 07) đã thỏa mãn điều kiện thứ hai, vì vậy khối mã 03 đã chạy. Nếu đầu vào của người dùng không thỏa mãn bất kỳ điều kiện nào, thì không có khối mã nào được thực thi.Một ví dụ khác có thể là khi bạn đang cố gắng xác định xem một số nằm ngoài phạm vi. Trong trường hợp này, nó cũng có thể sử dụng toán tử Python 0. Mã sau đây kiểm tra xem 24 có nằm ngoài phạm vi 11 đến 12:Khi bạn gọi >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 13 với >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 14, câu lệnh >>> True or 4 < 3 True 3 kiểm tra >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 16, đó là >>> 2 < 4 or 2 # Case 1 True >>> 2 < 4 or [] # Case 2 True >>> 5 > 10 or [] # Case 3 [] >>> 5 > 10 or 4 # Case 4 4 3. Sau đó, nó kiểm tra >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 18, cũng là >>> 2 < 4 or 2 # Case 1 True >>> 2 < 4 or [] # Case 2 True >>> 5 > 10 or [] # Case 3 [] >>> 5 > 10 or 4 # Case 4 4 3. Kết quả cuối cùng là >>> 2 < 4 or 2 # Case 1 True >>> 2 < 4 or [] # Case 2 True >>> 5 > 10 or [] # Case 3 [] >>> 5 > 10 or 4 # Case 4 4 3, do đó khối >>> 2 or 3 2 >>> 5 or 0.0 5 >>> [] or 3 3 >>> 0 or {} {} 21 đã được thực thi.Mặt khác, 22 được đánh giá là 2. Sau đó, toán tử Python 0 thực hiện đánh giá ngắn mạch và điều kiện được coi là 2. Khối chính được thực thi và giá trị nằm ngoài phạm vi.Nếu bạn cung cấp một khoảng trống có thể trống cho 58 hoặc 59, thì bạn sẽ nhận được một 62. Tuy nhiên, bạn có thể sửa đổi hành vi này bằng cách sử dụng toán tử Python 0. Hãy cùng xem mã sau:>>> 1Hành vi mặc định của 58 và 59 là tăng 62 nếu bạn gọi chúng với một khoảng trống có thể trống. Tuy nhiên, bằng cách sử dụng toán tử Python 0, bạn cung cấp giá trị 56 mặc định cho các chức năng này và ghi đè hành vi mặc định của chúng.Đối số mặc định có thể thay đổiMột vấn đề phổ biến, các lập trình viên Python mới bắt đầu là cố gắng sử dụng các đối tượng có thể thay đổi làm đối số mặc định cho các chức năng. Các giá trị có thể thay đổi cho các đối số mặc định có thể giữ trạng thái giữa các cuộc gọi. Điều này thường bất ngờ. Nó xảy ra bởi vì các giá trị đối số mặc định được đánh giá và lưu chỉ một lần, nghĩa là khi câu lệnh 69 được chạy, không phải mỗi lần hàm kết quả được gọi. Đó là lý do tại sao bạn cần cẩn thận về việc thay đổi mặc định có thể thay đổi bên trong các chức năng.Xem xét ví dụ sau: >>> 2Hành vi mặc định của 58 và 59 là tăng 62 nếu bạn gọi chúng với một khoảng trống có thể trống. Tuy nhiên, bằng cách sử dụng toán tử Python 0, bạn cung cấp giá trị 56 mặc định cho các chức năng này và ghi đè hành vi mặc định của chúng.Đối số mặc định có thể thay đổi >>> 3Hành vi mặc định của 58 và 59 là tăng 62 nếu bạn gọi chúng với một khoảng trống có thể trống. Tuy nhiên, bằng cách sử dụng toán tử Python 0, bạn cung cấp giá trị 56 mặc định cho các chức năng này và ghi đè hành vi mặc định của chúng.Đối số mặc định có thể thay đổi >>> 4Một vấn đề phổ biến, các lập trình viên Python mới bắt đầu là cố gắng sử dụng các đối tượng có thể thay đổi làm đối số mặc định cho các chức năng. Các giá trị có thể thay đổi cho các đối số mặc định có thể giữ trạng thái giữa các cuộc gọi. Điều này thường bất ngờ. Nó xảy ra bởi vì các giá trị đối số mặc định được đánh giá và lưu chỉ một lần, nghĩa là khi câu lệnh 69 được chạy, không phải mỗi lần hàm kết quả được gọi. Đó là lý do tại sao bạn cần cẩn thận về việc thay đổi mặc định có thể thay đổi bên trong các chức năng.Xem xét ví dụ sau:Ở đây, mọi cuộc gọi đến 70 cộng đồng 71 đến cuối 72, vì 72 giữ một tham chiếu đến cùng một đối tượng (mặc định ____108). Bạn không nhận được một 75 mới mỗi khi chức năng được gọi như bạn mong đợi.Nếu đó không phải là hành vi bạn muốn, thì giải pháp truyền thống (và an toàn nhất) là di chuyển mặc định đến phần thân của hàm: >>> Với việc triển khai này, bạn đảm bảo rằng 72 được đặt thành một 75 trống mỗi khi bạn gọi 70 mà không có đối số, dựa vào giá trị mặc định cho 72.Tuyên bố 3 trong ví dụ này gần như có thể được thay thế bằng bài tập 81. Bằng cách này, nếu không có đối số nào được chuyển vào chức năng, thì 72 sẽ mặc định là 9 và toán tử Python 0 sẽ trả về danh sách trống ở bên phải:>>> 6Tuy nhiên, điều này không chính xác giống nhau. Ví dụ: nếu một 75 trống được truyền vào, thì hoạt động 0 sẽ khiến chức năng sửa đổi và in một ____275 mới được tạo, thay vì sửa đổi và in các 75 được thông qua ban đầu như phiên bản 3.Nếu bạn khá chắc chắn rằng bạn sẽ chỉ sử dụng các đối tượng 75 không trống, thì bạn có thể sử dụng phương pháp này. Nếu không, hãy gắn bó với phiên bản 3.Không phân chiaKhông phân chia có thể là một vấn đề phổ biến khi bạn xử lý các tính toán số. Để tránh vấn đề này, có khả năng bạn cuối cùng bạn sẽ kiểm tra xem mẫu số có bằng 01 hay không bằng cách sử dụng câu lệnh 3.Hãy cùng xem một ví dụ: >>> 7 5Ở đây, bạn đã kiểm tra xem mẫu số ( 43) không bằng 01, và sau đó bạn trả về kết quả của hoạt động phân chia. Nếu 96 được đánh giá thành 2, thì 98 ngầm trả về 9. Hãy cùng xem cách nhận được kết quả tương tự, nhưng lần này sử dụng toán tử Python 0:Trong trường hợp này, toán tử Python 0 đánh giá biểu hiện phụ đầu tiên ( 96). Chỉ khi biểu hiện phụ này là 3, biểu hiện phụ thứ hai ( 04) được đánh giá và kết quả cuối cùng sẽ là sự phân chia của 42 và 43.>>> 8Ở đây, 29 giữ một tham chiếu đến giá trị được trả về bởi 12, có cùng giá trị được trả về bởi biểu thức Boolean.Sự kết luậnBây giờ bạn biết cách thức hoạt động của nhà điều hành Python 0 cũng như cách sử dụng nó để giải quyết một số vấn đề lập trình phổ biến trong Python.Bây giờ bạn đã biết những điều cơ bản của toán tử Python 0, bạn sẽ có thể:
Ngoài ra, bạn đã học được một chút về logic Boolean, cũng như một số khái niệm chính của nó 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 để hiểu sâu hơn về sự hiểu biết của bạn: Sử dụng Python hoặc toán tử This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Using the Python or Operator |