Cách ghi nhớ thứ tự ưu tiên của toán tử trong python

Khi xử lý các toán tử trong Python, chúng ta phải biết về khái niệm về mức độ ưu tiên và tính kết hợp của toán tử Python vì chúng xác định mức độ ưu tiên của toán tử, nếu không, chúng ta sẽ thấy kết quả không mong muốn

ưu tiên điều hành. Điều này được sử dụng trong một biểu thức có nhiều toán tử với mức độ ưu tiên khác nhau để xác định thao tác nào sẽ thực hiện trước

Thí dụ. Giải quyết

10 + 20 * 30

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30

Mã số

Python3




# Precedence of '+' & '*'

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
0
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
2
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
3
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
4
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
6

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
7

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
9

đầu ra

610

Thí dụ. Bây giờ, hãy xem một ví dụ về toán tử logic 'hoặc' & logic 'và'  . khối 'if' được thực thi ngay cả khi tuổi bằng 0. Bởi vì độ ưu tiên của logic 'và' lớn hơn logic 'hoặc'

Python3




610
0

610
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
610
3

610
4
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
610
6

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
7

610
8
610
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1_______1_______1
610
3
Hello! Welcome.
3
610
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
Hello! Welcome.
7
Hello! Welcome.
8
Hello! Welcome.
9
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
Good Bye!!
1
Good Bye!!
2

Good Bye!!
3
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
Good Bye!!
5
Good Bye!!
6
Good Bye!!
7

Good Bye!!
8
Good Bye!!
2

Good Bye!!
3
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
Good Bye!!
5
100
6
0
512
3
Good Bye!!
7

đầu ra

Hello! Welcome.

Do đó, để chạy khối 'else', chúng ta có thể sử dụng dấu ngoặc đơn [ ] vì mức độ ưu tiên của chúng là cao nhất trong số tất cả các toán tử

Python3




610
0

610
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
610
3

610
4
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
610
6

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
7

610
8
100 + 200 / 10 - 3 * 10
4
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1_______1_______1
610
3
Hello! Welcome.
3
610
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
Hello! Welcome.
7
Good Bye!!
7
Hello! Welcome.
8
Hello! Welcome.
9
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
1
Good Bye!!
1
Good Bye!!
2

100 + 200 / 10 - 3 * 10 is calculated as 100 + [200 / 10] - [3 * 10]
and not as [100 + 200] / [10 - 3] * 10
9_______1_______8
Good Bye!!
5
Good Bye!!
6
Good Bye!!
7

Good Bye!!
8
Good Bye!!
2

100 + 200 / 10 - 3 * 10 is calculated as 100 + [200 / 10] - [3 * 10]
and not as [100 + 200] / [10 - 3] * 10
9_______1_______8
Good Bye!!
5
100
6
0
512
3
Good Bye!!
7

đầu ra

Good Bye!!

Hiệp hội nhà điều hành. Nếu một biểu thức chứa hai hoặc nhiều toán tử có cùng mức độ ưu tiên thì Toán tử kết hợp được sử dụng để xác định. Nó có thể là từ trái sang phải hoặc từ phải sang trái

Thí dụ. '*' và '/' có cùng mức độ ưu tiên và tính kết hợp của chúng là Từ trái sang phải, vì vậy biểu thức “100/10 * 10” được coi là “[100/10] * 10”

Mã số

Python3




# Precedence of '+' & '*'1

# Precedence of '+' & '*'2

# Precedence of '+' & '*'3

# Precedence of '+' & '*'4

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
Good Bye!!
5# Precedence of '+' & '*'7 # Precedence of '+' & '*'8
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
2
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
2
Good Bye!!
7

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
7

# Precedence of '+' & '*'1

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
05

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
06

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
07

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
Good Bye!!
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
10
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
11
Good Bye!!
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
3
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
14
Good Bye!!
7

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
7

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
17

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
Good Bye!!
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
10
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
11
Good Bye!!
5
Good Bye!!
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
3
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
14
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
26

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
7

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
28

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
29

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
30

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
31

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
Good Bye!!
5
Good Bye!!
1
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
14
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
Good Bye!!
1
Good Bye!!
7

đầu ra

100
6
0
512

Toán tử ưu tiên và tính kết hợp là hai đặc điểm chính của toán tử xác định thứ tự đánh giá của các biểu thức con khi không có dấu ngoặc

Thí dụ. Giải quyết

100 + 200 / 10 - 3 * 10

100 + 200 / 10 - 3 * 10 is calculated as 100 + [200 / 10] - [3 * 10]
and not as [100 + 200] / [10 - 3] * 10

Mã số

Python3




10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
42_______1_______1 # Precedence of '+' & '*'7
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
3
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
46 # Precedence of '+' & '*'8
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
2
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
11
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
14
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
5
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
2

10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
8
10 + 20 * 30 is calculated as 10 + [20 * 30]
and not as [10 + 20] * 30
54

đầu ra

90.0

Vui lòng xem bảng ưu tiên và kết hợp sau đây để tham khảo. Bảng này liệt kê tất cả các toán tử từ mức ưu tiên cao nhất đến mức ưu tiên thấp nhất

Từ viết tắt nào có thể giúp bạn nhớ các quy tắc ưu tiên của Python trong số học?

Đối với các toán tử toán học, Python tuân theo quy ước toán học. Từ viết tắt PEMDAS là một cách hữu ích để ghi nhớ các quy tắc. Dấu ngoặc đơn có mức độ ưu tiên cao nhất và có thể được sử dụng để buộc một biểu thức đánh giá theo thứ tự bạn muốn.

Thứ tự ưu tiên của các toán tử trong Python là gì?

Toán tử số học được ưu tiên hơn toán tử logic . Python sẽ luôn đánh giá các toán tử số học trước [** là cao nhất, sau đó là phép nhân/chia, sau đó là phép cộng/trừ]. Tiếp đến là các toán tử quan hệ. Cuối cùng, các toán tử logic được thực hiện lần cuối.

3 quy tắc ưu tiên là gì?

Nói cách khác, quyền ưu tiên là. Dấu ngoặc đơn [đơn giản hóa bên trong chúng] Số mũ [áp dụng chúng] Phép nhân và chia [đi từ trái sang phải]

Chủ Đề