Bạn có ý nghĩa gì khi ưu tiên toán tử python?

Khi giải phương trình đại số, bạn đã sử dụng toán hạng và toán tử -- nhưng có thể bạn chưa gọi chúng bằng tên riêng

Toán hạng là các giá trị số, văn bản và Boolean mà các chương trình Python có thể thao tác và sử dụng để đưa ra quyết định. Các chương trình Python có thể sử dụng các giá trị hằng và giá trị biến làm toán hạng. Bạn có thể coi toán hạng là kho lưu trữ dữ liệu nhỏ. Trong biểu thức a + 6, a và 6 là toán hạng

Toán tử được sử dụng để thao tác và kiểm tra giá trị toán hạng. Một số ví dụ về toán hạng là các hàm toán học cộng, trừ, nhân và chia. Các toán tử như '==' có thể được sử dụng để xem liệu hai giá trị có bằng nhau không. Các toán tử như 'and' và 'or' được sử dụng để tạo các điều kiện logic phức tạp phân giải thành true hoặc false

Hãy xem ví dụ sau

Chúng ta sử dụng các toán hạng a và b để tạo biểu thức với các toán tử +, -, * và /

một + b

một - b

một * b

một / b

PEMDAS

Bạn có thể đã nghe thuật ngữ PEMDAS, dùng để chỉ dấu ngoặc đơn, số mũ, phép nhân, phép chia, phép cộng, phép trừ. Nó là một cách ghi nhớ phổ biến được sử dụng trong toán học và khoa học máy tính để nhanh chóng xác định thứ tự các phép toán trong toán học/lập trình

Khi chúng ta xem xét thứ tự các phép toán và mức độ ưu tiên của toán tử trong bài học này, hãy ghi nhớ điều đó

ưu tiên điều hành

Khi bạn thấy một biểu thức có nhiều toán tử như a + b * c, thì phép cộng được thực hiện trước hay phép nhân? . Trong bài học này, bạn sẽ thấy rằng Python sử dụng thứ tự các phép toán tiêu chuẩn giống như bạn đã được dạy trong các lớp đại số và hình học ở trường trung học và trung học

Ghi đè dấu ngoặc đơn

Python có các quy tắc được xác định rõ để chỉ định thứ tự [ưu tiên] trong đó các biểu thức được đánh giá. Khi hai toán tử dùng chung một toán hạng, toán tử có độ ưu tiên cao hơn sẽ đi trước. Tuy nhiên, Python cho phép ghi đè thứ tự ưu tiên của toán tử bằng cách sử dụng dấu ngoặc đơn [ ]. Đặt một toán tử và toán hạng của nó trong ngoặc đơn làm tăng mức độ ưu tiên của nó. Dấu ngoặc lồng trong một biểu thức cung cấp cho lập trình viên toàn quyền kiểm soát phần nào của biểu thức sẽ được thực hiện trước

Nếu chúng ta sử dụng các toán hạng sau để tạo biểu thức

một = 1

b = 2

c = 3

d = 4

e = 5

… và thêm các toán tử toán học sau đây, biểu thức sẽ trở thành

a + [b * c] * [d + e]

Bảng bên dưới hiển thị thứ tự các biểu thức sẽ được đánh giá

Bảng Ưu tiên Python & Khả năng kết hợp, được hiển thị bên dưới, cung cấp mức độ ưu tiên của toán tử cho Python, từ mức độ ưu tiên cao nhất đến mức độ ưu tiên thấp nhất. Điều này có nghĩa là trước tiên Python sẽ đánh giá các toán tử cao hơn trong bảng trước khi nó đánh giá các toán tử được liệt kê thấp hơn trong bảng

Mặc dù thứ tự ưu tiên của toán tử chỉ định thứ tự thực hiện, nhưng rất nên sử dụng dấu ngoặc đơn để nhóm các toán tử và toán hạng để chỉ định thứ tự ưu tiên một cách rõ ràng. Điều này sẽ làm cho chương trình của bạn dễ đọc nhất có thể. Ví dụ: 56 + [13 * 40] rõ ràng hơn đối với bất kỳ ai đọc mã so với 56 + 13 * 40

tính liên kết

Biểu thức không có dấu ngoặc đơn được đánh giá như thế nào? . Khi tất cả các toán tử trong một biểu thức có cùng mức độ ưu tiên, biểu thức được đánh giá bằng cách sử dụng kết hợp từ trái sang phải. Điều này có nghĩa là các hoạt động sẽ được đánh giá từ trái sang phải, như chúng xuất hiện trong biểu thức. Quy tắc này cũng áp dụng cho các đối số chức năng. Lưu ý cách đánh giá biểu thức sau

Đánh giá Bước 1. 5 + 3 - 2 + 9 - 2

Đánh giá Bước 2. 8 - 2 + 9 - 2

Đánh giá Bước 3. 6 + 9 - 2

Đánh giá Bước 4. 15 - 2

Đánh giá Bước 5. 13

Bây giờ, vì toán tử ** có tính kết hợp từ phải sang trái, a ** b ** c sẽ được đánh giá là ** [b ** c]. Đối với lũy thừa, biểu thức bên phải được đánh giá trước. Mặt khác, do toán tử * có tính kết hợp từ trái sang phải nên a * b * c được coi là [a * b] * c. Đối với phép nhân, biểu thức bên trái được đánh giá trước

Ví dụ

biểu thức 1. print[2 ** 4 ** 2] trả về 65536 và

biểu thức 2. print[[2 ** 4] ** 2] trả về 256 và

biểu thức 3. print[2 ** [4 ** 2]] trả về 65536, Biểu thức #1 được xử lý giống như Biểu thức #3

Mức ưu tiên & Tính kết hợp của Python

Trong bảng Mức độ ưu tiên & Tính kết hợp của Python ở trên, bạn có thể thấy rằng một số nhóm có thể có nhiều toán tử. Điều này có nghĩa là tất cả các toán tử trong nhóm đó có cùng mức độ ưu tiên. Thứ tự ưu tiên trong bảng giảm dần từ trên xuống dưới. Và khi hai hoặc nhiều toán tử có cùng mức độ ưu tiên, thì tính kết hợp sẽ xác định thứ tự của các phép toán.

Bây giờ, hãy xem một số ví dụ

Kiểm tra tính liên kết trái-phải này sẽ trả về câu trả lời là 1
    print[4 * 7 % 3]

Kiểm tra tính liên kết trái-phải này sẽ trả về câu trả lời là 0
    print[2 * [10 % 5]]

Kiểm tra tính liên kết phải-trái của ** này sẽ trả về kết quả là 256
    print[4 ** 2 ** 2]

Kiểm tra tính kết hợp trái-phải này sẽ trả về câu trả lời là 1. 0
    in[4. 00/[2. 0+2. 0]]

Kiểm tra tính kết hợp trái-phải này sẽ trả về câu trả lời là 27. 2
    in[2+9*[[3*12]-8]/10]

Kiểm tra tính liên kết trái-phải này sẽ trả về kết quả là 44
    print[int[43. 55+2/2]]

ngắn mạch

Python sử dụng một phương pháp đánh giá được gọi là đoản mạch khi đánh giá các biểu thức liên quan đến các toán tử logic. Khi một biểu thức sử dụng các toán tử logic, Python sẽ không đánh giá biểu thức thứ hai trừ khi cần giải quyết kết quả. Đoản mạch cho phép các câu lệnh như

# nếu myString không null VÀ độ dài của myString nhỏ hơn 15 …

nếu [ myString ] và [ len[myString] ] < 15]…

Trong trường hợp này, nếu myString được đánh giá là null, thì không cần tiếp tục và kiểm tra độ dài. Vì logic và yêu cầu cả hai đều đúng và chúng tôi đã biết rằng cái đầu tiên không thành công, chúng tôi biết biểu thức cũng sẽ thất bại

Tóm lược

Bài học này cung cấp cho bạn kiến ​​thức cơ bản về cách Python xử lý các giá trị điện toán. Nó bao gồm các toán hạng, toán tử và thứ tự mà các biểu thức sẽ được đánh giá, được gọi là quyền ưu tiên. Nó cũng thảo luận về sự khác biệt giữa tính kết hợp từ trái sang phải và tính kết hợp từ phải sang trái. Cuối cùng, nó thảo luận về đoản mạch, một phương pháp được sử dụng để đánh giá các biểu thức logic. Mặc dù bạn đã quen thuộc với thứ tự ưu tiên của toán tử, bạn vẫn nên sử dụng giá trị thay thế dấu ngoặc đơn để đảm bảo biểu thức toán học được thực thi theo cách bạn nghĩ. Điều này sẽ giúp tránh mất nhiều giờ kiểm tra và theo dõi lỗi. Để hiểu chi tiết hơn, hãy ngồi xuống với thử nghiệm Trình thông dịch Python của bạn và chúc bạn vui vẻ

Để mở khóa bài học này, bạn phải là Người học. comThành viên.
Tạo tài khoản của bạn

Đăng ký để xem bài học này

Bạn là học sinh hay giáo viên?

tôi là học sinh tôi là giáo viên

Mở khóa giáo dục của bạn

Tự mình khám phá lý do tại sao 30 triệu người sử dụng Study. com

Trở thành một nghiên cứu. thành viên com và bắt đầu học ngay bây giờTrở thành thành viên

Đã là thành viên hay chưa?

Trở lại

Tài nguyên do giáo viên tạo ra cho giáo viên

Hơn 30.000 bài học video & tài nguyên giảng dạy‐tất cả ở một nơi.

bài học video

Câu đố và Bảng tính

Tích hợp lớp học

kế hoạch bài học

Tôi chắc chắn sẽ giới thiệu Study. com đến các đồng nghiệp của tôi. Nó giống như một giáo viên vung cây đũa thần và làm việc cho tôi. Tôi cảm thấy như đó là một cứu cánh

Ví dụ về ưu tiên toán tử trong Python là gì?

Thứ tự ưu tiên của toán tử ảnh hưởng đến cách đánh giá một biểu thức . Ví dụ: x = 7 + 3 * 2; .

Ưu tiên của các hoạt động Python là gì?

Hầu hết tất cả các toán tử đều có liên kết từ trái sang phải . Ví dụ: phép nhân và phép chia sàn có cùng mức độ ưu tiên. Do đó, nếu cả hai đều có mặt trong một biểu thức, thì biểu thức bên trái được đánh giá trước. Ghi chú. Toán tử số mũ ** có tính kết hợp từ phải sang trái trong Python.

Điều gì có nghĩa là ưu tiên của các hoạt động?

Thứ tự ưu tiên của các thao tác xác định thứ tự thực hiện các thao tác trong các biểu thức . Các hoạt động ưu tiên cao được thực hiện trước các hoạt động ưu tiên thấp hơn. Vì dấu ngoặc đơn có quyền ưu tiên cao nhất nên các thao tác bên trong dấu ngoặc đơn luôn được thực hiện trước.

Chủ Đề