Giải thích các toán tử số học trong python
Tuy nhiên, có rất nhiều thứ bạn có thể làm với các toán tử số học trong Python. Trong hướng dẫn này, bạn sẽ học cách sử dụng rộng rãi các toán tử số học Show Trước khi bắt đầu, hãy nhanh chóng tìm hiểu ý nghĩa của các nhóm ưu tiên và ưu tiên số học Nhóm ưu tiênKhi có nhiều phép tính số học được xâu chuỗi lại với nhau, trình biên dịch Python cần biết phép tính nào sẽ được đánh giá trước 1 + 2 * 3 ** 4 / 5 Đây là nơi ưu tiên được sử dụng Nhóm ưu tiên của toán tử số học chỉ định biểu thức thứ tự nào được đánh giá Đây là nhóm ưu tiên của các toán tử số học trong Python. Toán tử càng cao trên bàn, mức độ ưu tiên càng cao Toán tửÝ nghĩax + y69Dấu ngoặc đơn x + y70Số mũ x + y71, x + y72, x + y73, x + y74Phép nhân, chia, phép chia tầng, môđun x + y75, x + y76Cộng, trừ Bây giờ bạn đã hiểu thế nào là ưu tiên, đã đến lúc tìm hiểu về các toán tử số học trong Python Phép cộngTrong Python, bạn có thể cộng hai giá trị số với nhau bằng toán tử cộng (+) x + y Ví dụ x + y0 Toán tử +=Khi thêm biến, bạn có thể kết hợp toán tử cộng (+) với toán tử gán (=) để tạo thành toán tử gán cộng (+=) x + y1 Đây là cách viết tắt của x + y2 Ví dụ x + y3 Quyền ưu tiênToán tử cộng (+) thuộc nhóm ưu tiên thấp nhất với phép trừ Điều này có nghĩa là bất kỳ hoạt động số học nào khác được thực hiện trước Ví dụ x + y4 Ở đây 2 * 3 được tính trước khi cộng nó với 1 Nói cách khác, trình biên dịch Python xem biểu thức trên là x + y5 Trường hợp bất kỳ biểu thức nào bên trong dấu ngoặc đơn được tính trước Bây giờ bạn đã hiểu những kiến thức cơ bản về toán tử cộng trong Python Tiếp theo, chúng ta hãy xem cách sử dụng phép cộng nâng cao hơn Phương thức __add__()Trong Python, bạn có thể cộng các kiểu số với nhau để tạo ra một giá trị số mới biểu thị tổng của hai Điều này có thể thực hiện được nhờ phương thức __add__() được triển khai đằng sau hậu trường Trên thực tế, bất cứ khi nào bạn sử dụng toán tử +, bạn thực sự đang gọi phương thức __add__() của đối tượng Bạn có thể xác minh rằng đây là trường hợp bằng cách chạy thử nghiệm đơn giản x + y6 Hiểu điều này là hữu ích trong một thời điểm Trong Python, bạn có thể tạo một loại tùy chỉnh bằng cách triển khai một lớp chỉ định loại Ví dụ: hãy tạo một lớp Cân nặng x + y7 Bây giờ, hãy xem điều gì sẽ xảy ra khi bạn cố gắng cộng hai đối tượng Trọng lượng lại với nhau x + y0 Điều này dẫn đến một lỗi x + y1 Lỗi cho biết bạn không thể sử dụng + trên hai đối tượng Trọng lượng Đây không phải là một bất ngờ Làm thế nào trình thông dịch Python thậm chí có thể biết ý nghĩa của việc cộng hai trọng số lại với nhau? Nhưng có một cách để bạn thực hiện công việc này Để hỗ trợ thêm các loại tùy chỉnh trong Python, hãy triển khai phương thức __add__() vào lớp tùy chỉnh Chẳng hạn, hãy tạo khả năng cộng các đối tượng Trọng lượng lại với nhau bằng cách tính tổng số kilôgam của các đối tượng x + y2 Phương thức __add__() lấy hai đối tượng Weight
Sau đó, nó tính tổng số kg trọng lượng, tạo một đối tượng Trọng lượng mới và trả về nó Bây giờ bạn có thể cộng hai đối tượng Weight lại với nhau để tạo đối tượng Weight lớn hơn chẳng hạn x + y0 đầu ra x + y4 Khá tiện dụng phải không nào? Bây giờ bạn đã hiểu cách cộng hai đối tượng tùy chỉnh với nhau trong Python bằng phương thức __add__ Nhưng nếu đối tượng bên trái và bên phải không cùng loại thì sao? Thêm các loại khác nhauHãy thử thêm một đối tượng Weight và một int x + y5 Điều này dẫn đến lỗi sau x + y6 Điều này là do chúng tôi chưa chỉ định điều gì sẽ xảy ra khi thêm Trọng số vào một đối tượng khác, chẳng hạn như một int Để hỗ trợ thêm các loại khác nhau, bạn cần mở rộng triển khai phương thức __add__()
Đây là những gì lớp cập nhật trông giống như x + y7 Bây giờ bạn có thể cộng các đối tượng Weight và int lại với nhau x + y8 đầu ra x + y9 Nhưng có một vấn đề nhỏ Khi bạn đảo ngược thứ tự của phép cộng x + y00 Có một lỗi, mặc dù người ta mong đợi nó hoạt động x + y01 Bây giờ, hãy nghĩ về lý do tại sao điều này xảy ra Như bạn đã biết, gọi a + b cũng giống như gọi a. __thêm__(b) Trong đoạn mã bị lỗi, bạn đang gọi 200 + w1, nghĩa là (200). __thêm__(w1) Bây giờ, đây là vấn đề Cố gắng thêm một đối tượng Weight vào một đối tượng int không hoạt động vì int không biết gì về hạng Weight của chúng ta. Điều đó có nghĩa là phương thức __add__ trong lớp int không xử lý việc thêm các đối tượng Trọng lượng Để khắc phục điều này, bạn cần sửa đổi cách triển khai gốc của kiểu int Nhưng điều này là không nên Thay vào đó, Python có một phương thức __radd__() tích hợp sẵn mà bạn có thể sử dụng để hoán đổi thứ tự của phép cộng Phương thức __radd__()Phương thức __radd__() là viết tắt của “bổ sung đúng” ý tưởng thật đơn giản
Hãy triển khai phương thức __radd__() cho lớp Trọng lượng x + y02 Bây giờ bạn kiểm tra xem nó có hoạt động không x + y03 đầu ra x + y4 Đáng kinh ngạc Bây giờ bạn đã hiểu cách hoạt động của phép cộng trong Python, hãy chuyển sang phép trừ phép trừTrong Python, bạn có thể trừ hai giá trị số với nhau bằng cách sử dụng toán tử trừ (-) x + y05 Ví dụ x + y06 Toán tử -=Khi giảm biến, bạn có thể kết hợp toán tử trừ (-) với toán tử gán (=) để tạo thành toán tử gán trừ (-=) x + y07 Đây là cách viết tắt của x + y08 Ví dụ x + y09 Quyền ưu tiênToán tử trừ thuộc nhóm ưu tiên thấp nhất với phép cộng Điều này có nghĩa là bất kỳ hoạt động số học nào khác được tính trước Ví dụ x + y10 Ở đây 2 * 3 được tính trước khi lấy 1 trừ đi Nói cách khác, trình biên dịch Python xem biểu thức trên là x + y11 Chúng ta hãy xem xét một số cách sử dụng nâng cao của toán tử trừ Phương thức __sub__()Trong Python, bạn có thể trừ hai loại số với nhau để tạo ra một giá trị mới thể hiện sự khác biệt giữa hai loại Điều này có thể thực hiện được nhờ phương thức __sub__() đằng sau hậu trường Nguyên tắc hoạt động hoàn toàn giống với phương thức __add__() ở phần trước Bất cứ khi nào bạn sử dụng toán tử –, bạn thực sự đang gọi phương thức __sub__() x + y12 Trong Python, bạn có thể tạo một loại tùy chỉnh bằng cách triển khai một lớp chỉ định loại Ví dụ: hãy tiếp tục với lớp Trọng lượng được triển khai trong chương trước x + y7 Bây giờ, hãy xem điều gì sẽ xảy ra khi bạn cố gắng trừ hai đối tượng Trọng lượng x + y14 Điều này dẫn đến lỗi sau x + y15 Lỗi cho biết bạn không thể sử dụng – trên hai đối tượng Trọng lượng Tuy nhiên, có một cách để bạn thực hiện công việc này Để hỗ trợ phép trừ với các loại tùy chỉnh, hãy triển khai phương thức __sub__() vào lớp tùy chỉnh Chẳng hạn, hãy để có thể trừ các đối tượng Trọng lượng với nhau bằng cách trừ đi số kilôgam của các đối tượng x + y16 Phương thức __sub__() lấy hai đối tượng Weight
Nó trừ đi số kg của trọng lượng, tạo một đối tượng Trọng lượng mới và trả về nó Bây giờ bạn có thể trừ hai đối tượng Trọng lượng để lấy chênh lệch trọng lượng dưới dạng đối tượng Trọng lượng mới x + y14 đầu ra x + y18 Nhưng nếu đối tượng bên trái và bên phải không cùng loại thì sao? Trừ các loại khác nhauHãy thử trừ một số nguyên từ Trọng lượng x + y19 Điều này ném một lỗi x + y6 Chúng tôi chưa chỉ định điều gì sẽ xảy ra khi trừ một thứ khác ngoài Trọng lượng từ một đối tượng Trọng lượng. Đây là lý do tại sao đoạn mã trên không hoạt động Để thực hiện phép trừ các loại khác nhau, hãy mở rộng triển khai phương thức __sub__()
x + y21 Bây giờ nó hoạt động x + y19 đầu ra x + y18 Nhưng còn một vấn đề nữa Khi bạn đảo ngược thứ tự của phép trừ x + y24 Có một lỗi, mặc dù người ta mong đợi nó hoạt động x + y25 Như bạn đã biết, gọi a – b cũng giống như gọi a. __phụ__(b) Ở trên, bạn đang gọi 150 – w1, nghĩa là (150). __phụ__(w1) Đây là vấn đề Cố gắng trừ một đối tượng Trọng lượng khỏi một đối tượng int không hoạt động vì kiểu int tích hợp không có ý tưởng về lớp Trọng lượng Để khắc phục sự cố, bạn cần thực hiện các thay đổi đối với kiểu int tích hợp. Nhưng điều này sẽ là xấu Toán tử số học trong Python là gì?Có 7 toán tử số học trong Python. . Phép cộng phép trừ Phép nhân Phân công mô đun lũy thừa Phân chia tầng toán tử số học giải thích là gì?Toán tử thực hiện các phép toán số học trên các nhóm và số . Trong AHDL, các toán tử số học được hỗ trợ trong các biểu thức Boolean bao gồm các ký hiệu tiền tố và dấu cộng ( +) và dấu trừ ( -) nhị phân.
5 toán tử số học là gì?Các toán tử này là + (cộng), - (phép trừ), * (nhân), / (chia) và % (mô đun).
Toán tử số học trong Python Lớp 11 là gì?Toán tử cộng- Thêm toán hạng ở hai bên của toán tử. Toán tử trừ – Trừ toán hạng bên phải từ toán hạng bên trái. Toán tử nhân – Nhân toán hạng ở hai bên của toán tử. Toán tử chia – Chia toán hạng bên trái cho toán hạng bên phải |