Hướng dẫn what is precedence and associativity of operators in python explain with example? - Giải thích với ví dụ về mức độ ưu tiên và tính liên kết của các toán tử trong python là gì?

Ưu tiên của các nhà khai thác Python

Sự kết hợp của các giá trị, biến, toán tử và các cuộc gọi chức năng được gọi là một biểu thức. Trình thông dịch Python có thể đánh giá một biểu thức hợp lệ.

Ví dụ:

>>> 5 - 7
-2

Ở đây

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
2 là một biểu thức. Có thể có nhiều hơn một toán tử trong một biểu thức.

Để đánh giá các loại biểu thức này, có một quy tắc ưu tiên trong Python. Nó hướng dẫn thứ tự thực hiện các hoạt động này.

Ví dụ, phép nhân có ưu tiên cao hơn phép trừ.

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2

Nhưng chúng ta có thể thay đổi thứ tự này bằng cách sử dụng dấu ngoặc đơn

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
3 vì nó có ưu tiên cao hơn so với phép nhân.

# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12

Các nhà điều hành được ưu tiên trong Python được liệt kê trong bảng sau. Đó là theo thứ tự giảm dần [nhóm trên có ưu tiên cao hơn so với nhóm thấp hơn].

Người vận hànhNghĩa
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
3
Dấu ngoặc đơn
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
5
Số mũ
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
6,
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
7,
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
8
Unary Plus, Unary Minus, bitwise không
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
9,
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
0,
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
1,
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
2
Phép nhân, phân chia, phân chia sàn, mô đun
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
3,
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
4
Ngoài ra, trừ
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
5,
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
6
Các nhà khai thác thay đổi bitwise
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
7
Bitwise và
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
8
BitWise XOR
# Parentheses [] has higher precedence
>>> [10 - 4] * 2
12
9
Bitwise hoặc
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
0,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
1,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
2,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
3,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
4,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
5,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
6,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
7,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
8,
# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]
9
So sánh, danh tính, nhà khai thác thành viên
Lunch being delivered
0
Logic không
Lunch being delivered
1
Hợp lý và
Lunch being delivered
2
Hợp lý hoặc

Hãy xem xét một số ví dụ:

Giả sử chúng ta đang xây dựng một khối

Lunch being delivered
3 chạy
Lunch being delivered
4 khi bữa trưa là trái cây hoặc bánh sandwich và chỉ khi tiền nhiều hơn hoặc bằng 2.

# Precedence of or & and
meal = "fruit"

money = 0

if meal == "fruit" or meal == "sandwich" and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]

Đầu ra

Lunch being delivered

Chương trình này chạy khối

Lunch being delivered
4 ngay cả khi tiền là 0. Nó không cung cấp cho chúng tôi đầu ra mong muốn vì mức độ ưu tiên của
Lunch being delivered
1 cao hơn
Lunch being delivered
2.

Chúng ta có thể nhận được đầu ra mong muốn bằng cách sử dụng dấu ngoặc đơn

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
3 theo cách sau:

# Precedence of or & and
meal = "fruit"

money = 0

if [meal == "fruit" or meal == "sandwich"] and money >= 2:
    print["Lunch being delivered"]
else:
    print["Can't deliver lunch"]

Đầu ra

Can't deliver lunch

Chương trình này chạy khối
Lunch being delivered
4 ngay cả khi tiền là 0. Nó không cung cấp cho chúng tôi đầu ra mong muốn vì mức độ ưu tiên của
Lunch being delivered
1 cao hơn
Lunch being delivered
2.

Chúng ta có thể nhận được đầu ra mong muốn bằng cách sử dụng dấu ngoặc đơn

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
3 theo cách sau:

Sự kết hợp của các nhà khai thác Python

Chúng ta có thể thấy trong bảng trên rằng nhiều hơn một toán tử tồn tại trong cùng một nhóm. Các nhà khai thác này có cùng mức độ ưu tiên.

Khi hai toán tử có cùng mức độ ưu tiên, sự kết hợp giúp xác định thứ tự hoạt động.

# Left-right associativity
# Output: 3
print[5 * 2 // 3]

# Shows left-right associativity
# Output: 0
print[5 * [2 // 3]]

Đầu ra

3
0

Chương trình này chạy khối

Lunch being delivered
4 ngay cả khi tiền là 0. Nó không cung cấp cho chúng tôi đầu ra mong muốn vì mức độ ưu tiên của
Lunch being delivered
1 cao hơn
Lunch being delivered
2.
: Exponent operator
# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
5 has right-to-left associativity in Python.

# Shows the right-left associativity of **
# Output: 512, Since 2**[3**2] = 2**9
print[2 ** 3 ** 2]

# If 2 needs to be exponated fisrt, need to use []
# Output: 64
print[[2 ** 3] ** 2]

Chúng ta có thể nhận được đầu ra mong muốn bằng cách sử dụng dấu ngoặc đơn

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
3 theo cách sau:

Sự kết hợp của các nhà khai thác Python

Chúng ta có thể thấy trong bảng trên rằng nhiều hơn một toán tử tồn tại trong cùng một nhóm. Các nhà khai thác này có cùng mức độ ưu tiên.

Khi hai toán tử có cùng mức độ ưu tiên, sự kết hợp giúp xác định thứ tự hoạt động.

Sự kết hợp là thứ tự trong đó một biểu thức được đánh giá có nhiều toán tử có cùng mức độ ưu tiên. Hầu như tất cả các nhà khai thác đều có sự kết hợp từ trái sang phải.

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
0

Đầu ra

# Multiplication has higher precedence
# than subtraction
>>> 10 - 4 * 2
2
1

Ưu tiên và tính kết hợp của các nhà khai thác trong Python là gì?

Các nhà khai thác này có cùng mức độ ưu tiên. Khi hai toán tử có cùng mức độ ưu tiên, sự kết hợp giúp xác định thứ tự hoạt động. Sự kết hợp là thứ tự trong đó một biểu thức được đánh giá có nhiều toán tử có cùng mức độ ưu tiên. Hầu như tất cả các nhà khai thác đều có sự kết hợp từ trái sang phải.associativity helps to determine the order of operations. Associativity is the order in which an expression is evaluated that has multiple operators of the same precedence. Almost all the operators have left-to-right associativity.

Các nhà điều hành ưu tiên và kết hợp giải thích với ví dụ là gì?

Các toán tử kết hợp được sử dụng khi hai toán tử có cùng mức độ xuất hiện trong một biểu thức.Sự kết hợp có thể là từ trái sang phải hoặc phải sang trái.Ví dụ: ' *' và ' /' có sự ưu tiên tương tự và tính liên kết của chúng bị từ trái sang phải, do đó, biểu thức 100 /10 * 10, được coi là Hồi [100/10] * 10.. Associativity can be either Left to Right or Right to Left. For example: '*' and '/' have same precedence and their associativity is Left to Right, so the expression “100 / 10 * 10” is treated as “[100 / 10] * 10”.

Có nghĩa là gì bởi sự ưu tiên của các nhà khai thác trong Python?

Nhà điều hành ưu tiên trong Python chỉ đơn giản là đề cập đến thứ tự hoạt động.Các toán tử được sử dụng để thực hiện các hoạt động trên các biến và giá trị.Python phân loại các toán tử của nó trong các nhóm sau: toán tử số học.Toán tử chuyển nhượng.the order of operations. Operators are used to perform operations on variables and values. Python classifies its operators in the following groups: Arithmetic operators. Assignment operators.

Sự kết hợp của các nhà khai thác có cùng mức độ ưu tiên trong Python MCQ là gì?

Sự kết hợp là thứ tự trong đó một biểu thức với nhiều toán tử có cùng mức độ được đánh giá.... Sự kết hợp của nhà điều hành Python ..

Bài Viết Liên Quan

Chủ Đề