Hướng dẫn how does python handle non - python xử lý phi như thế nào

Tôi biết đó là một chủ đề cũ, nhưng tôi cảm thấy bắt buộc phải đề cập đến phương thức dịch, đây luôn là một cách tốt để thay thế tất cả các mã ký tự trên 128 (hoặc khác nếu cần thiết).

Show

Cách sử dụng: str.translate (Bảng [, Deletechars])translate(table[, deletechars])

>>> trans_table = ''.join( [chr(i) for i in range(128)] + [' '] * 128 )

>>> 'Résultat'.translate(trans_table)
'R sultat'
>>> '6Â 918Â 417Â 712'.translate(trans_table)
'6  918  417  712'

Bắt đầu với Python 2.6, bạn cũng có thể đặt bảng thành NOWN và sử dụng Deletechars để xóa các ký tự bạn không muốn như trong các ví dụ được hiển thị trong các tài liệu tiêu chuẩn tại http://docs.python.org/l Library/stdtypes. HTML.

Với các chuỗi Unicode, bảng dịch không phải là chuỗi 256 ký tự mà là một quy tắc với ord () của các ký tự có liên quan làm khóa. Nhưng dù sao cũng nhận được một chuỗi ASCII thích hợp từ chuỗi Unicode là đủ đơn giản, sử dụng phương thức được đề cập bởi TrupPo ​​ở trên, cụ thể là: unicode_string.encode ("ascii", "bỏ qua")

Tóm lại, nếu vì một lý do nào đó, bạn hoàn toàn cần phải có chuỗi ASCII (ví dụ: khi bạn tăng ngoại lệ tiêu chuẩn với

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
0), bạn có thể sử dụng chức năng sau:

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)

Điều tốt với dịch là bạn thực sự có thể chuyển đổi các ký tự có dấu thành các ký tự ASCII không có liên quan thay vì chỉ cần xóa chúng hoặc thay thế chúng bằng '?'. Điều này thường hữu ích, ví dụ cho mục đích lập chỉ mục.

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 không phải người vận hành 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 not Operator

Làm thế nào để Python xử lý ASCII?

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 operator allows you to invert the truth value of Boolean expressions and objects. You can use this operator in Boolean contexts, such as
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 statements and
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3 loops. It also works in non-Boolean contexts, which allows you to invert the truth value of your variables.

Sử dụng toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 một cách hiệu quả sẽ giúp bạn viết các biểu thức boolean âm chính xác để kiểm soát luồng thực thi trong các chương trình của bạn.

Trong hướng dẫn này, bạn sẽ học:

  • Cách thức hoạt động của nhà điều hành Python từ
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    1
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    1
    operator works
  • Cách sử dụng toán tử
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    1 trong bối cảnh Boolean và phi BooleanBoolean and non-Boolean contexts
  • Cách sử dụng hàm
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    7 để thực hiện phủ định logic
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    7
    function to perform logical negation
  • Làm thế nào và khi nào để tránh logic tiêu cực không cần thiết trong mã của bạnnegative logic in your code

Bạn cũng sẽ mã hóa một vài ví dụ thực tế cho phép bạn hiểu rõ hơn một số trường hợp sử dụng chính của toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 và các thực tiễn tốt nhất xung quanh việc sử dụng nó. Để tận dụng tối đa hướng dẫn này, bạn nên có một số kiến ​​thức trước đây về logic Boolean, các câu lệnh có điều kiện và các vòng lặp
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3.

Làm việc với logic Boolean trong Python

George Boole tập hợp những gì hiện được gọi là Đại số Boolean, dựa vào các giá trị đúng và sai. Nó cũng xác định một tập hợp các hoạt động boolean:

>>> not True
False

>>> not False
True
0,
>>> not True
False

>>> not False
True
1 và
>>> not True
False

>>> not False
True
2. Các giá trị boolean và nhà khai thác này rất hữu ích trong việc lập trình vì chúng giúp bạn quyết định tiến trình hành động trong các chương trình của bạn.true and false values. It also defines a set of Boolean operations:
>>> not True
False

>>> not False
True
0,
>>> not True
False

>>> not False
True
1, and
>>> not True
False

>>> not False
True
2. These Boolean values and operators are helpful in programming because they help you decide the course of action in your programs.

Trong Python, loại Boolean,

>>> not True
False

>>> not False
True
3, là một lớp con của
>>> not True
False

>>> not False
True
4:

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...

Loại này có hai giá trị có thể,

>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
6, là các hằng số tích hợp trong Python và phải được viết hoa. Trong nội bộ, Python thực hiện chúng dưới dạng số nguyên:

>>>

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0

Loại này có hai giá trị có thể,

>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
6, là các hằng số tích hợp trong Python và phải được viết hoa. Trong nội bộ, Python thực hiện chúng dưới dạng số nguyên:

Python trong nội bộ thực hiện các giá trị boolean của nó là

>>> not True
False

>>> not False
True
7 cho
>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
9 cho
>>> not True
False

>>> not False
True
6. Đi trước và thực hiện
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
1 trong vỏ tương tác của bạn để xem điều gì sẽ xảy ra.

Python cung cấp ba toán tử boolean hoặc logic:Nhà điều hành
Hoạt động logic
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
2
Kết hợp
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
3
Phân ly
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1

Phủ địnhkeywords of the language, so you can’t use them as identifiers without causing a syntax error.

Với các toán tử này, bạn có thể xây dựng các biểu thức bằng cách kết nối các biểu thức boolean với nhau, các đối tượng với nhau và thậm chí các biểu thức boolean với các đối tượng. Python sử dụng các từ tiếng Anh cho các nhà khai thác boolean. Những từ này là các từ khóa của ngôn ngữ, vì vậy bạn có thể sử dụng chúng làm định danh mà không gây ra lỗi cú pháp.negation.

Trong hướng dẫn này, bạn sẽ tìm hiểu về toán tử Python từ >>> type(True) >>> type(False) >>> isinstance(True, int) True >>> isinstance(False, int) True >>> int(True) 1 >>> int(False) 0 1, trong đó thực hiện hoạt động hoặc phủ định logic.

Bắt đầu với nhà điều hành Python từ

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1operand. The operand can be a Boolean expression or any Python object. Even user-defined objects work. The task of
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 is to reverse the truth value of its operand.

Toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 là toán tử boolean hoặc logic thực hiện phủ định trong Python. Nó không đơn giản, có nghĩa là chỉ cần một toán hạng. Toán tử có thể là một biểu thức boolean hoặc bất kỳ đối tượng Python nào. Ngay cả các đối tượng do người dùng xác định cũng hoạt động. Nhiệm vụ của
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 là đảo ngược giá trị sự thật của toán hạng của nó.

>>>

>>> not True
False

>>> not False
True

Loại này có hai giá trị có thể,

>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
6, là các hằng số tích hợp trong Python và phải được viết hoa. Trong nội bộ, Python thực hiện chúng dưới dạng số nguyên:truth table of
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1:

>>> # Use "not" with numeric values
>>> not 0
True
>>> not 42
False
>>> not 0.0
True
>>> not 42.0
False
>>> not complex(0, 0)
True
>>> not complex(42, 1)
False

>>> # Use "not" with strings
>>> not ""
True
>>> not "Hello"
False

>>> # Use "not" with other data types
>>> not []
True
>>> not [1, 2, 3]
False
>>> not {}
True
>>> not {"one": 1, "two": 2}
False
9
if not condition:
    # Do something...
0
Python trong nội bộ thực hiện các giá trị boolean của nó là
>>> not True
False

>>> not False
True
7 cho
>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
9 cho
>>> not True
False

>>> not False
True
6. Đi trước và thực hiện
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
1 trong vỏ tương tác của bạn để xem điều gì sẽ xảy ra.
Python cung cấp ba toán tử boolean hoặc logic:
Python cung cấp ba toán tử boolean hoặc logic:Python trong nội bộ thực hiện các giá trị boolean của nó là
>>> not True
False

>>> not False
True
7 cho
>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
9 cho
>>> not True
False

>>> not False
True
6. Đi trước và thực hiện
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
1 trong vỏ tương tác của bạn để xem điều gì sẽ xảy ra.

Python cung cấp ba toán tử boolean hoặc logic:

  • Nhà điều hànhunmet conditions in the context of
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    2 statements and
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    3 loops
  • Hoạt động logic of an object or expression
  • >>> x = 2
    >>> y = 5
    
    >>> x > y
    False
    
    >>> not x > y
    True
    
    2value is not in a given container
  • Kết hợpobject’s identity

>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
3

Phân ly

>>>

>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True

Loại này có hai giá trị có thể,

>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
6, là các hằng số tích hợp trong Python và phải được viết hoa. Trong nội bộ, Python thực hiện chúng dưới dạng số nguyên:

Python trong nội bộ thực hiện các giá trị boolean của nó là

>>> not True
False

>>> not False
True
7 cho
>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
9 cho
>>> not True
False

>>> not False
True
6. Đi trước và thực hiện
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
1 trong vỏ tương tác của bạn để xem điều gì sẽ xảy ra.

>>>

>>> # Use "not" with numeric values
>>> not 0
True
>>> not 42
False
>>> not 0.0
True
>>> not 42.0
False
>>> not complex(0, 0)
True
>>> not complex(42, 1)
False

>>> # Use "not" with strings
>>> not ""
True
>>> not "Hello"
False

>>> # Use "not" with other data types
>>> not []
True
>>> not [1, 2, 3]
False
>>> not {}
True
>>> not {"one": 1, "two": 2}
False

Loại này có hai giá trị có thể,

>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
6, là các hằng số tích hợp trong Python và phải được viết hoa. Trong nội bộ, Python thực hiện chúng dưới dạng số nguyên:

Python trong nội bộ thực hiện các giá trị boolean của nó là

>>> not True
False

>>> not False
True
7 cho
>>> not True
False

>>> not False
True
5 và
>>> not True
False

>>> not False
True
9 cho
>>> not True
False

>>> not False
True
6. Đi trước và thực hiện
>>> x = 2
>>> y = 5

>>> x > y
False

>>> not x > y
True
1 trong vỏ tương tác của bạn để xem điều gì sẽ xảy ra.

Python cung cấp ba toán tử boolean hoặc logic:

  • Các hằng số được xác định là sai:
    >>> # Work with composite numbers only
    >>> number = 8
    >>> if not is_prime(number):
    ...     print(f"{number} is composite")
    ...
    8 is composite
    
    3 và
    >>> not True
    False
    
    >>> not False
    True
    
    6.
  • số không thuộc bất kỳ loại số nào:
    >>> not True
    False
    
    >>> not False
    True
    
    9,
    >>> # Work with composite numbers only
    >>> number = 8
    >>> if not is_prime(number):
    ...     print(f"{number} is composite")
    ...
    8 is composite
    
    6,
    >>> # Work with composite numbers only
    >>> number = 8
    >>> if not is_prime(number):
    ...     print(f"{number} is composite")
    ...
    8 is composite
    
    7,
    >>> # Work with composite numbers only
    >>> number = 8
    >>> if not is_prime(number):
    ...     print(f"{number} is composite")
    ...
    8 is composite
    
    8,
    >>> # Work with composite numbers only
    >>> number = 8
    >>> if not is_prime(number):
    ...     print(f"{number} is composite")
    ...
    8 is composite
    
    9
  • Trình tự và bộ sưu tập trống:
    trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
    def ascii(s):
        if isinstance(s, unicode):
            return s.encode('ascii', 'replace')
        else:
            return s.translate(trans_table)
    
    00,
    trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
    def ascii(s):
        if isinstance(s, unicode):
            return s.encode('ascii', 'replace')
        else:
            return s.translate(trans_table)
    
    01,
    trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
    def ascii(s):
        if isinstance(s, unicode):
            return s.encode('ascii', 'replace')
        else:
            return s.translate(trans_table)
    
    02,
    trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
    def ascii(s):
        if isinstance(s, unicode):
            return s.encode('ascii', 'replace')
        else:
            return s.translate(trans_table)
    
    03,
    trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
    def ascii(s):
        if isinstance(s, unicode):
            return s.encode('ascii', 'replace')
        else:
            return s.translate(trans_table)
    
    04,
    trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
    def ascii(s):
        if isinstance(s, unicode):
            return s.encode('ascii', 'replace')
        else:
            return s.translate(trans_table)
    
    05

(Source)

Khi

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 biết giá trị sự thật của toán hạng của nó, nó sẽ trả về giá trị boolean ngược lại. Nếu đối tượng đánh giá thành
>>> not True
False

>>> not False
True
5, thì
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trả về
>>> not True
False

>>> not False
True
6. Nếu không, nó trả về
>>> not True
False

>>> not False
True
5.

Bây giờ bạn đã biết cách

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 hoạt động trong Python, bạn có thể đi sâu vào các trường hợp sử dụng cụ thể hơn của toán tử logic này. Trong phần sau, bạn sẽ tìm hiểu về việc sử dụng
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trong bối cảnh Boolean.Boolean contexts.

Sử dụng toán tử >>> type(True) >>> type(False) >>> isinstance(True, int) True >>> isinstance(False, int) True >>> int(True) 1 >>> int(False) 0 1 trong bối cảnh Boolean

Giống như hai toán tử logic khác, toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 đặc biệt hữu ích trong bối cảnh Boolean. Trong Python, bạn có hai câu xác định bối cảnh Boolean:

  1. >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    2 Các tuyên bố cho phép bạn thực hiện thực thi có điều kiện và thực hiện các khóa học hành động khác nhau dựa trên một số điều kiện ban đầu.conditional execution and take different courses of action based on some initial conditions.
  2. >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    3 Vòng lặp cho phép bạn thực hiện lặp lại có điều kiện và chạy các tác vụ lặp đi lặp lại trong khi một điều kiện nhất định là đúng.conditional iteration and run repetitive tasks while a given condition is true.

Hai cấu trúc này là một phần của những gì bạn gọi là câu lệnh điều khiển. Họ giúp bạn quyết định một đường dẫn thực hiện chương trình. Trong trường hợp của toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1, bạn có thể sử dụng nó để chọn các hành động cần thực hiện khi một điều kiện nhất định không được đáp ứng.

>>> type(True) >>> type(False) >>> isinstance(True, int) True >>> isinstance(False, int) True >>> int(True) 1 >>> int(False) 0 2 Báo cáo

Bạn có thể sử dụng toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trong câu lệnh
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 để kiểm tra xem một điều kiện nhất định có được đáp ứng không. Để thực hiện một bài kiểm tra tuyên bố
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 nếu có điều gì đó không xảy ra, bạn có thể đặt toán tử
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trước điều kiện trong tay. Vì toán tử
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trả về kết quả bị phủ định, một cái gì đó đúng trở thành
>>> not True
False

>>> not False
True
6 và cách khác.

Cú pháp cho câu lệnh

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 với toán tử logic
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 là:

if not condition:
    # Do something...

Trong ví dụ này,

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
27 có thể là một biểu thức boolean hoặc bất kỳ đối tượng Python nào có ý nghĩa. Ví dụ:
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
27 có thể là một biến chứa một chuỗi, danh sách, từ điển, một tập hợp và thậm chí là một đối tượng do người dùng xác định.

Nếu

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
27 đánh giá sai, thì
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trả về
>>> not True
False

>>> not False
True
5 và khối mã
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 chạy. Nếu
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
27 đánh giá đúng, thì
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 sẽ trả về
>>> not True
False

>>> not False
True
6 và khối mã
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 không thực thi.

Một tình huống phổ biến là một tình huống mà bạn sử dụng hàm định vị hoặc giá trị boolean là

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
27. Giả sử bạn muốn kiểm tra xem một số đã cho là chính trước khi thực hiện bất kỳ xử lý nào nữa. Trong trường hợp đó, bạn có thể viết hàm
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38:

>>>

>>> import math

>>> def is_prime(n):
...     if n <= 1:
...         return False
...     for i in range(2, int(math.sqrt(n)) + 1):
...         if n % i == 0:
...             return False
...     return True
...

>>> # Work with prime numbers only
>>> number = 3
>>> if is_prime(number):
...     print(f"{number} is prime")
...
3 is prime

Trong ví dụ này,

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38 lấy số nguyên làm đối số và trả về
>>> not True
False

>>> not False
True
5 nếu số là số nguyên tố. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Bạn cũng có thể sử dụng chức năng này trong một tuyên bố có điều kiện tiêu cực để tiếp cận các tình huống mà bạn muốn làm việc chỉ với các số tổng hợp:

>>>

>>> # Work with composite numbers only
>>> number = 8
>>> if not is_prime(number):
...     print(f"{number} is composite")
...
8 is composite

Trong ví dụ này,

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38 lấy số nguyên làm đối số và trả về
>>> not True
False

>>> not False
True
5 nếu số là số nguyên tố. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Bạn cũng có thể sử dụng chức năng này trong một tuyên bố có điều kiện tiêu cực để tiếp cận các tình huống mà bạn muốn làm việc chỉ với các số tổng hợp:

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
0

Trong ví dụ này,

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38 lấy số nguyên làm đối số và trả về
>>> not True
False

>>> not False
True
5 nếu số là số nguyên tố. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Bạn cũng có thể sử dụng chức năng này trong một tuyên bố có điều kiện tiêu cực để tiếp cận các tình huống mà bạn muốn làm việc chỉ với các số tổng hợp:

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
1

Trong ví dụ này,

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38 lấy số nguyên làm đối số và trả về
>>> not True
False

>>> not False
True
5 nếu số là số nguyên tố. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
2

Trong ví dụ này,

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38 lấy số nguyên làm đối số và trả về
>>> not True
False

>>> not False
True
5 nếu số là số nguyên tố. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Bạn cũng có thể sử dụng chức năng này trong một tuyên bố có điều kiện tiêu cực để tiếp cận các tình huống mà bạn muốn làm việc chỉ với các số tổng hợp:

Vì nó cũng có thể chỉ cần làm việc với các số tổng hợp, bạn có thể sử dụng lại

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
38 bằng cách kết hợp nó với toán tử
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 như bạn đã làm trong ví dụ thứ hai này.

Giả sử bạn muốn mã hóa một trò chơi Python nhỏ để đoán một số ngẫu nhiên trong khoảng từ 1 đến 10. Bước đầu tiên, bạn quyết định sử dụng

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
66 để ghi tên người dùng. Vì tên này là một yêu cầu cho phần còn lại của trò chơi hoạt động, bạn cần chắc chắn rằng bạn có được nó. Để làm điều đó, bạn có thể sử dụng vòng lặp
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3 yêu cầu tên người dùng cho đến khi người dùng cung cấp một vòng hợp lệ.

Fun lên trình chỉnh sửa mã hoặc IDE của bạn và tạo tệp

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
68 mới cho trò chơi của bạn. Sau đó thêm mã sau:

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
3

Trong

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
68, trước tiên bạn nhập
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
70 từ
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
71. Hàm này cho phép bạn tạo số số nguyên ngẫu nhiên trong một phạm vi nhất định. Trong trường hợp này, bạn đã tạo ra các số từ
>>> not True
False

>>> not False
True
7 đến
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
73, cả hai đều bao gồm. Sau đó, bạn in một tin nhắn chào đón cho người dùng.

Vòng lặp

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3 trên dòng 10 lặp lại cho đến khi người dùng cung cấp một tên hợp lệ. Nếu người dùng không cung cấp tên bằng cách chỉ nhấn enter, thì
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
66 sẽ trả về một chuỗi trống (
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
76) và vòng lặp sẽ chạy lại vì
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
77 trả về
>>> not True
False

>>> not False
True
5.Enter, then
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
66 returns an empty string (
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
76) and the loop runs again because
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
77 returns
>>> not True
False

>>> not False
True
5.

Bây giờ bạn có thể tiếp tục với trò chơi của mình bằng cách viết mã để cung cấp chức năng đoán. Bạn có thể tự làm điều đó hoặc bạn có thể mở rộng hộp bên dưới để kiểm tra một triển khai có thể.

Phần thứ hai của trò chơi sẽ cho phép người dùng nhập một số từ 1 đến 10 như dự đoán của họ. Trò chơi nên so sánh đầu vào của người dùng với số bí mật hiện tại và thực hiện các hành động phù hợp. Đây là một triển khai có thể:

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
4

Bạn sử dụng vòng lặp

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3 vô hạn để lấy đầu vào của người dùng cho đến khi họ đoán số
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
80. Trong mỗi lần lặp, bạn kiểm tra xem đầu vào có khớp với
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
80 không và cung cấp manh mối cho người dùng theo kết quả. Hãy tiếp tục và thử nó!

Là một bài tập, bạn có thể hạn chế số lần thử trước khi người dùng thua trò chơi. Ba lần thử có thể là một lựa chọn tốt trong trường hợp này.

Trải nghiệm của bạn với trò chơi nhỏ này như thế nào? Để tìm hiểu thêm về lập trình trò chơi trong Python, hãy xem Pygame: một bản thảo về lập trình trò chơi trong Python.

Bây giờ bạn đã biết cách sử dụng

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trong bối cảnh Boolean, đó là thời gian để tìm hiểu về việc sử dụng
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trong các bối cảnh không phải là Boolean. Đó là những gì bạn sẽ làm trong phần sau.

Sử dụng toán tử >>> type(True) >>> type(False) >>> isinstance(True, int) True >>> isinstance(False, int) True >>> int(True) 1 >>> int(False) 0 1 trong bối cảnh phi Boolean

Vì toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 cũng có thể lấy các đối tượng thông thường làm toán hạng, bạn cũng có thể sử dụng nó trong bối cảnh không phải là Boolean. Nói cách khác, bạn có thể sử dụng nó bên ngoài câu lệnh
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 hoặc vòng lặp
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3. Có thể cho rằng, trường hợp sử dụng phổ biến nhất của toán tử
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trong bối cảnh không phải là Boolean là đảo ngược giá trị sự thật của một biến nhất định.

Giả sử bạn cần thực hiện hai hành động khác nhau thay thế trong một vòng lặp. Trong trường hợp đó, bạn có thể sử dụng một biến cờ để chuyển đổi các hành động trong mỗi lần lặp:

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
5

Mỗi khi vòng lặp này chạy, bạn kiểm tra giá trị sự thật của

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
89 để quyết định nên thực hiện quá trình hành động nào. Ở cuối mỗi khối mã, bạn thay đổi giá trị của
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
89 để bạn có thể chạy hành động thay thế trong lần lặp tiếp theo. Thay đổi giá trị của
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
89 yêu cầu bạn lặp lại logic tương tự hai lần, có thể dễ bị lỗi.

Bạn có thể sử dụng toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 để khắc phục nhược điểm này và làm cho mã của bạn sạch hơn và an toàn hơn:

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
6

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
5

Mỗi khi vòng lặp này chạy, bạn kiểm tra giá trị sự thật của trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 ) def ascii(s): if isinstance(s, unicode): return s.encode('ascii', 'replace') else: return s.translate(trans_table) 89 để quyết định nên thực hiện quá trình hành động nào. Ở cuối mỗi khối mã, bạn thay đổi giá trị của trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 ) def ascii(s): if isinstance(s, unicode): return s.encode('ascii', 'replace') else: return s.translate(trans_table) 89 để bạn có thể chạy hành động thay thế trong lần lặp tiếp theo. Thay đổi giá trị của trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 ) def ascii(s): if isinstance(s, unicode): return s.encode('ascii', 'replace') else: return s.translate(trans_table) 89 yêu cầu bạn lặp lại logic tương tự hai lần, có thể dễ bị lỗi.

Bạn có thể sử dụng toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 để khắc phục nhược điểm này và làm cho mã của bạn sạch hơn và an toàn hơn:

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
7

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
5

Mỗi khi vòng lặp này chạy, bạn kiểm tra giá trị sự thật của

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
89 để quyết định nên thực hiện quá trình hành động nào. Ở cuối mỗi khối mã, bạn thay đổi giá trị của
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
89 để bạn có thể chạy hành động thay thế trong lần lặp tiếp theo. Thay đổi giá trị của
trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
89 yêu cầu bạn lặp lại logic tương tự hai lần, có thể dễ bị lỗi.

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
8

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
5

Làm việc với nhà điều hành Python từ >>> type(True) >>> type(False) >>> isinstance(True, int) True >>> isinstance(False, int) True >>> int(True) 1 >>> int(False) 0 1: Thực tiễn tốt nhất

Khi bạn làm việc với nhà điều hành

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1, bạn nên xem xét theo một vài thực tiễn tốt nhất có thể làm cho mã của bạn dễ đọc hơn, sạch sẽ và pythonic hơn. Trong phần này, bạn sẽ tìm hiểu về một số thực tiễn tốt nhất này liên quan đến việc sử dụng toán tử
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 trong bối cảnh các bài kiểm tra thành viên và nhận dạng.

Bạn cũng sẽ tìm hiểu làm thế nào logic tiêu cực có thể ảnh hưởng đến khả năng đọc mã của bạn. Cuối cùng, bạn sẽ tìm hiểu về một số kỹ thuật tiện dụng có thể giúp bạn tránh logic tiêu cực không cần thiết, đó là một thực tiễn tốt nhất lập trình.

Kiểm tra thành viên

Các thử nghiệm thành viên thường hữu ích khi bạn xác định xem một đối tượng cụ thể có tồn tại trong một loại dữ liệu container nhất định, chẳng hạn như danh sách, tuple, set hoặc từ điển. Để thực hiện loại thử nghiệm này trong Python, bạn có thể sử dụng toán tử ____220:

>>>

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
9

Toán tử ____220 trả về

>>> not True
False

>>> not False
True
5 nếu đối tượng bên trái nằm trong thùng chứa ở phía bên phải của biểu thức. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Đôi khi bạn có thể cần kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định. Làm thế nào bạn có thể làm điều đó? Câu trả lời cho câu hỏi này là toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1.

Có hai cú pháp khác nhau để kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định trong Python. Cộng đồng Python coi cú pháp đầu tiên là thực hành xấu vì nó khó đọc. Cú pháp thứ hai đọc như tiếng Anh đơn giản:

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
0

Toán tử ____220 trả về

>>> not True
False

>>> not False
True
5 nếu đối tượng bên trái nằm trong thùng chứa ở phía bên phải của biểu thức. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Đôi khi bạn có thể cần kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định. Làm thế nào bạn có thể làm điều đó? Câu trả lời cho câu hỏi này là toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1.

Có hai cú pháp khác nhau để kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định trong Python. Cộng đồng Python coi cú pháp đầu tiên là thực hành xấu vì nó khó đọc. Cú pháp thứ hai đọc như tiếng Anh đơn giản:

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
1

Toán tử ____220 trả về

>>> not True
False

>>> not False
True
5 nếu đối tượng bên trái nằm trong thùng chứa ở phía bên phải của biểu thức. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Đôi khi bạn có thể cần kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định. Làm thế nào bạn có thể làm điều đó? Câu trả lời cho câu hỏi này là toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1.

Có hai cú pháp khác nhau để kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định trong Python. Cộng đồng Python coi cú pháp đầu tiên là thực hành xấu vì nó khó đọc. Cú pháp thứ hai đọc như tiếng Anh đơn giản:

Ví dụ đầu tiên hoạt động. Tuy nhiên,

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 hàng đầu gây khó khăn cho ai đó đang đọc mã của bạn để xác định xem nhà điều hành có hoạt động trên
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
26 hay trên toàn bộ biểu thức,
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
27. Chi tiết này làm cho biểu thức khó đọc và hiểu.

Ví dụ thứ hai rõ ràng hơn nhiều. Tài liệu Python đề cập đến cú pháp trong ví dụ thứ hai là toán tử

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
28. Cú pháp đầu tiên có thể là một thông lệ cho những người bắt đầu với Python.

>>>

Toán tử ____220 trả về
>>> not True
False

>>> not False
True
5 nếu đối tượng bên trái nằm trong thùng chứa ở phía bên phải của biểu thức. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Đôi khi bạn có thể cần kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định. Làm thế nào bạn có thể làm điều đó? Câu trả lời cho câu hỏi này là toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1.

Có hai cú pháp khác nhau để kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định trong Python. Cộng đồng Python coi cú pháp đầu tiên là thực hành xấu vì nó khó đọc. Cú pháp thứ hai đọc như tiếng Anh đơn giản:

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
3

Toán tử ____220 trả về

>>> not True
False

>>> not False
True
5 nếu đối tượng bên trái nằm trong thùng chứa ở phía bên phải của biểu thức. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

Đôi khi bạn có thể cần kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định. Làm thế nào bạn có thể làm điều đó? Câu trả lời cho câu hỏi này là toán tử >>> type(True) >>> type(False) >>> isinstance(True, int) True >>> isinstance(False, int) True >>> int(True) 1 >>> int(False) 0 1.

Có hai cú pháp khác nhau để kiểm tra xem một đối tượng không nằm trong một thùng chứa nhất định trong Python. Cộng đồng Python coi cú pháp đầu tiên là thực hành xấu vì nó khó đọc. Cú pháp thứ hai đọc như tiếng Anh đơn giản:negative logic or negation.

Ví dụ đầu tiên hoạt động. Tuy nhiên,

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 hàng đầu gây khó khăn cho ai đó đang đọc mã của bạn để xác định xem nhà điều hành có hoạt động trên
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
26 hay trên toàn bộ biểu thức,
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
27. Chi tiết này làm cho biểu thức khó đọc và hiểu.

Ví dụ thứ hai rõ ràng hơn nhiều. Tài liệu Python đề cập đến cú pháp trong ví dụ thứ hai là toán tử

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
28. Cú pháp đầu tiên có thể là một thông lệ cho những người bắt đầu với Python.

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
4

Toán tử ____220 trả về

>>> not True
False

>>> not False
True
5 nếu đối tượng bên trái nằm trong thùng chứa ở phía bên phải của biểu thức. Nếu không, nó trả về
>>> not True
False

>>> not False
True
6.

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
5

Đó là nó!

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
49 của bạn bây giờ sử dụng logic tích cực. Nó rất đơn giản và dễ hiểu hơn. Để có được kết quả này, bạn đã xóa
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 và di chuyển dấu âm (
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
52) để sửa đổi đầu vào
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
53 khi nó thấp hơn
>>> not True
False

>>> not False
True
9.

Bạn có thể tìm thấy nhiều ví dụ tương tự trong đó thay đổi toán tử so sánh có thể xóa logic âm không cần thiết. Giả sử bạn muốn kiểm tra xem một biến

trans_table = ''.join( [chr(i) for i in range(128)] + ['?'] * 128 )
def ascii(s):
    if isinstance(s, unicode):
        return s.encode('ascii', 'replace')
    else:
        return s.translate(trans_table)
44 không bằng một giá trị nhất định. Bạn có thể sử dụng hai cách tiếp cận khác nhau:

>>>

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
6

Trong ví dụ này, bạn loại bỏ toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 bằng cách thay đổi toán tử so sánh từ bằng nhau (
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
57) thành khác nhau (
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
58). Trong nhiều trường hợp, bạn có thể tránh logic tiêu cực bằng cách thể hiện điều kiện khác nhau với một toán tử bình đẳng hoặc quan hệ thích hợp.

Tuy nhiên, đôi khi logic tiêu cực có thể giúp bạn tiết kiệm thời gian và làm cho mã của bạn ngắn gọn hơn. Giả sử bạn cần một câu lệnh có điều kiện để khởi tạo một tệp đã cho khi nó không tồn tại trong hệ thống tệp. Trong trường hợp đó, bạn có thể sử dụng

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 để kiểm tra xem tệp không tồn tại:

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
7

Toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 cho phép bạn đảo ngược kết quả gọi
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
61 trên
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
62. Nếu
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
61 trả về
>>> not True
False

>>> not False
True
6, thì bạn cần khởi tạo tệp. Tuy nhiên, với một điều kiện sai, khối mã
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
2 không chạy. Đó là lý do tại sao bạn cần toán tử
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 để đảo ngược kết quả của
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
61.

Bây giờ hãy nghĩ làm thế nào để biến điều kiện tiêu cực này thành một điều tích cực. Cho đến thời điểm này, bạn không có bất kỳ hành động nào để thực hiện nếu tệp tồn tại, vì vậy bạn có thể nghĩ đến việc sử dụng câu lệnh

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
68 và mệnh đề
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
69 bổ sung để xử lý việc khởi tạo tệp:

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
8

Mặc dù mã này hoạt động, nhưng nó vi phạm nguyên tắc của bạn, bạn sẽ cần nó (Yagni). Nó là một nỗ lực đặc biệt quyết tâm để loại bỏ logic tiêu cực.

Ý tưởng đằng sau ví dụ này là chỉ ra rằng đôi khi sử dụng logic tiêu cực là cách đúng đắn. Vì vậy, bạn nên xem xét vấn đề cụ thể của bạn và chọn giải pháp thích hợp. Một nguyên tắc tốt sẽ là tránh logic tiêu cực càng nhiều càng tốt mà không cố gắng tránh nó bằng mọi giá.

Cuối cùng, bạn nên chú ý đặc biệt để tránh phủ định kép. Giả sử bạn có một hằng số gọi là

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
70 giữ các ký tự mà Python có thể biến thành số, chẳng hạn như chữ cái và dấu chấm câu. Về mặt ngữ nghĩa, điều này hằng số này ngụ ý một sự phủ định.double negation. Say you have a constant called
>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
70 that holds characters that Python can’t turn into numbers, such as letters and punctuation marks. Semantically, this constant itself implies a negation.

Bây giờ nói rằng bạn cần kiểm tra xem một ký tự nhất định có phải là giá trị số không. Vì bạn đã có

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
70, bạn có thể nghĩ đến việc sử dụng
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 để kiểm tra điều kiện:

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
9

Mã này có vẻ kỳ lạ, và có lẽ bạn đã thắng được bao giờ làm điều gì đó như thế này trong sự nghiệp của bạn với tư cách là một lập trình viên. Tuy nhiên, làm một cái gì đó tương tự đôi khi có thể hấp dẫn, chẳng hạn như trong ví dụ trên.

Ví dụ này sử dụng phủ định kép. Nó dựa vào

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:

class bool(int)
    bool(x) -> bool
    ...
70 và cả trên
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1, điều này làm cho nó khó tiêu hóa và hiểu. Nếu bạn từng có được một đoạn mã như thế này, thì hãy dành một phút để thử viết nó một cách tích cực hoặc, ít nhất, hãy cố gắng loại bỏ một lớp phủ định.

Sự kết luận

Python sườn

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 là một toán tử logic đảo ngược giá trị sự thật của các biểu thức và đối tượng boolean. Nó rất tiện dụng khi bạn cần kiểm tra các điều kiện chưa được đáp ứng trong các câu lệnh có điều kiện và các vòng
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3.
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1
is a logical operator that inverts the truth value of Boolean expressions and objects. It’s handy when you need to check for unmet conditions in conditional statements and
>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
3 loops.

Bạn có thể sử dụng toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1 để giúp bạn quyết định tiến trình hành động trong chương trình của mình. Bạn cũng có thể sử dụng nó để đảo ngược giá trị của các biến Boolean trong mã của bạn.

Trong hướng dẫn này, bạn đã học được cách:

  • Làm việc với nhà điều hành Python từ
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    1
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    1
    operator
  • Sử dụng toán tử
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    1 trong bối cảnh Boolean và phi BooleanBoolean and non-Boolean contexts
  • Sử dụng
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    7 để thực hiện phủ định logic theo kiểu chức năng
    >>> type(True)
    
    >>> type(False)
    
    
    >>> isinstance(True, int)
    True
    >>> isinstance(False, int)
    True
    
    >>> int(True)
    1
    >>> int(False)
    0
    
    7
    to perform logical negation in a functional style
  • Tránh logic tiêu cực không cần thiết trong mã của bạn bất cứ khi nào có thểunnecessary negative logic in your code whenever possible

Để kết thúc này, bạn đã mã hóa một vài ví dụ thực tế giúp bạn hiểu một số trường hợp sử dụng chính của toán tử

>>> type(True)

>>> type(False)


>>> isinstance(True, int)
True
>>> isinstance(False, int)
True

>>> int(True)
1
>>> int(False)
0
1, vì vậy bây giờ bạn đã chuẩn bị tốt hơn để sử dụng nó trong mã của riêng bạn.

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 không phải người vận hành 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 not Operator

Làm thế nào để Python xử lý ASCII?

Để có được giá trị ASCII của char python, phương thức ord () được sử dụng. Nó được xây dựng trong thư viện các phương thức ký tự được cung cấp bởi Python. ASCII hoặc mã tiêu chuẩn Mỹ để trao đổi thông tin là giá trị số được trao cho các ký tự và ký hiệu khác nhau.the ord () method is used. It is in-built in the library of character methods provided by Python. ASCII or American Standard Code for Information Interchange is the numeric value that is given to different characters and symbols.

Bạn có thể sử dụng các ký tự không phải ASCII trong Python không?

Để sử dụng các ký tự không phải ASCII, Python yêu cầu mã hóa và giải mã rõ ràng thành Unicode.Trong IBM® SPSS® Modeler, các tập lệnh Python được giả định là được mã hóa trong UTF-8, đây là mã hóa Unicode tiêu chuẩn hỗ trợ các ký tự không ASCII.Python requires explicit encoding and decoding of strings into Unicode. In IBM® SPSS® Modeler, Python scripts are assumed to be encoded in UTF-8, which is a standard Unicode encoding that supports non-ASCII characters.

Người vận hành không làm gì trong Python?

Nhà điều hành không phải của Python cho phép bạn đảo ngược giá trị sự thật của các biểu thức và đối tượng Boolean.Bạn có thể sử dụng toán tử này trong bối cảnh Boolean, chẳng hạn như các câu lệnh và trong khi các vòng lặp.Nó cũng hoạt động trong bối cảnh phi Boolean, cho phép bạn đảo ngược giá trị sự thật của các biến của bạn.allows you to invert the truth value of Boolean expressions and objects. You can use this operator in Boolean contexts, such as if statements and while loops. It also works in non-Boolean contexts, which allows you to invert the truth value of your variables.

Làm thế nào để bạn nói không phải trong Python?

Bạn có thể sử dụng "! =" Và "không phải" cho hoạt động không bằng nhau trong Python.Python! = (Không phải là toán tử bằng) trả về đúng, nếu các giá trị của hai toán hạng python được đưa ra ở mỗi bên của toán tử không bằng nhau, nếu không thì sai."!= " and "is not" for not equal operation in Python. The python != ( not equal operator ) return True, if the values of the two Python operands given on each side of the operator are not equal, otherwise false .