Trong bài viết này, bạn sẽ tìm hiểu về các toán tử chia 31 và 32 trong Python 2 và 3. Bạn có thể kiểm tra phiên bản trong tập lệnh Python của mình như được hiển thị tại đây Show Tổng quan trực quan ngắn gọn về toán tử chia trong Python 2 và 3 Nhân vật. Sự khác biệt và tương đồng của các toán tử chia trong Python 2 và 3Giả sử hai giá trị số nguyên được lưu trữ trong các biến 33 và 30, có bốn trường hợp khác nhau tùy thuộc vào phiên bản Python và toán tử chia mà bạn sử dụng
Hãy đi sâu hơn vào những trường hợp này với một số ví dụ tiếp theo Làm cách nào để chia hai số nguyên trong Python 2?Đối với Python 2, phép chia hai số nguyên sử dụng phép chia số nguyên. Cái này còn được gọi là “chia tầng” vì nó áp dụng hàm tầng sau khi chia. Ví dụ: 35 trong Python 2. x sẽ dẫn đến giá trị 3. Tuy nhiên, việc sử dụng “/” không được dùng nữa — để thực hiện phân chia tầng, hãy sử dụng “//” có sẵn trong Python 2. 2 và các phiên bản mới hơn # Python 2.x print(7/2) đầu ra 3 Phân chia float trong Python 2Để thực hiện phép chia float trong Python 2, hãy sử dụng câu lệnh 36 và sử dụng dấu gạch chéo trước duy nhất 31 để thực hiện phép chia float như trong Python 3. Ví dụ: 35 bây giờ sẽ dẫn đến 39 32 Ngoài ra, bạn có thể nhân với số float 1. 0 để “lây nhiễm” tử số sao cho một trong các toán hạng của toán tử chia là giá trị float và toàn bộ phép chia cũng trở thành phép chia float 33 Ngoài ra, bạn có thể sử dụng hàm tích hợp float() trên tử số hoặc mẫu số để thực hiện phép chia float 34 Làm cách nào để chia hai số nguyên trong Python 3?Đối với Python 3, chia hai số nguyên bằng phép chia float thông thường. Ví dụ: 35 trong Python 3. x sẽ dẫn đến giá trị dấu phẩy động 39 37 đầu ra 38 Bạn có thể đọc thêm các cuộc thảo luận về điều này tại đây Bản tóm tắtMột bài học rất quan trọng trong Python để học lại từ đầu là “Phép chia trong Python”. Ý nghĩa của phép chia trong Python và cách sử dụng khác nhau của các đối số hoặc toán tử Python. Nhiều người không học được những khác biệt tinh tế này. Khi họ không học, họ sẽ mất hàng giờ và hàng ngày để gỡ lỗi chương trình Bạn có thể sử dụng phép chia theo hai cách khác nhau
Bạn có thể tìm hiểu thêm về phép chia trong Python tại đây Chris Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây Ký hiệu chia tiêu chuẩn ( 32) hoạt động khác nhau trong Python 3 và Python 2 khi áp dụng cho số nguyên Khi chia một số nguyên cho một số nguyên khác trong Python 3, phép chia 37 đại diện cho một phép chia thực (sử dụng phương thức 38) và tạo ra kết quả dấu phẩy động. Trong khi đó, phép toán tương tự trong Python 2 đại diện cho một phép chia cổ điển làm tròn kết quả xuống âm vô cực (còn được gọi là lấy giá trị sàn) Ví dụ Đầu ra CodePython 2 Đầu ra Python 33911. 5____4000. 6666666666666666____41-2-1. 5 Hành vi làm tròn về 0 không được dùng trong Python 2. 2, nhưng vẫn còn trong Python 2. 7 vì mục đích tương thích ngược và đã bị xóa trong Python 3 Ghi chú. Để có kết quả float trong Python 2 (không làm tròn sàn), chúng ta có thể chỉ định một trong các toán hạng có dấu thập phân. Ví dụ trên của 32 cung cấp cho 33 trong Python 2 sẽ được sử dụng như 390 hoặc 391 hoặc 392 để nhận được 393Đầu ra CodePython 2 Đầu ra Python 3 3941. 51. 5____1900. 66666666666666660. 6666666666666666____196-1. 5-1. 5 Ngoài ra còn có toán tử chia tầng ( 397), hoạt động giống nhau trong cả hai phiên bản. nó làm tròn xuống số nguyên gần nhất. (mặc dù số float được trả về khi được sử dụng với số float) Trong cả hai phiên bản, toán tử 397 ánh xạ tới 399Đầu ra CodePython 2 Đầu ra Python 3 32011 32100 322-2-2 3231. 01. 0____3240. 00. 0____325-2. 0-2. 0 Người ta có thể thực thi rõ ràng phép chia thực hoặc phép chia tầng bằng cách sử dụng các hàm gốc trong mô-đun 326 39 Mặc dù rõ ràng và rõ ràng, nhưng việc sử dụng các hàm toán tử cho mọi phép chia có thể rất tẻ nhạt. Thay đổi hành vi của toán tử 32 thường sẽ được ưu tiên hơn. Một thực tế phổ biến là loại bỏ hành vi phân chia điển hình bằng cách thêm 328 làm câu lệnh đầu tiên trong mỗi mô-đun 39Đầu ra CodePython 2 Đầu ra Python 3 391. 51. 5____400. 66666666666666660. 6666666666666666____41-1. 5-1. 5 328 đảm bảo rằng toán tử 32 đại diện cho phép chia thực sự và chỉ trong các mô-đun chứa nhập khẩu 374, vì vậy không có lý do thuyết phục nào để không kích hoạt nó trong tất cả các mô-đun mới Ghi chú. Một số ngôn ngữ lập trình khác sử dụng làm tròn về 0 (cắt ngắn) thay vì làm tròn xuống âm vô cùng như Python (i. e. bằng những ngôn ngữ đó 375). Hành vi này có thể gây nhầm lẫn khi chuyển hoặc so sánh mã Lưu ý về toán hạng float. Để thay thế cho 328, người ta có thể sử dụng ký hiệu chia thông thường 32 và đảm bảo rằng ít nhất một trong các toán hạng là số float. 378. Tuy nhiên, điều này có thể được coi là thực hành xấu. Thật quá dễ dàng để viết 379 và quên bỏ một trong các đối số để float. Hơn nữa, những trường hợp như vậy có thể thường xuyên trốn tránh thông báo trong quá trình thử nghiệm, e. g. , nếu bạn thử nghiệm trên một mảng chứa các 380 nhưng nhận được một mảng gồm các 381 trong quá trình sản xuất. Ngoài ra, nếu mã tương tự được sử dụng trong Python 3, các chương trình mong đợi 382 là True sẽ không hoạt động chính xác Xem PEP 238 để biết lý do chi tiết hơn tại sao toán tử chia được thay đổi trong Python 3 và tại sao nên tránh chia kiểu cũ Điều gì xảy ra khi bạn chia hai số nguyên trong Python?Đối với Python 2, phép chia hai số nguyên sử dụng phép chia số nguyên . Cái này còn được gọi là “chia tầng” vì nó áp dụng hàm tầng sau khi chia. Ví dụ: 7/2 trong Python 2. x sẽ dẫn đến giá trị 3.
Python có hỗ trợ phép chia số nguyên không?Trong Python, có hai kiểu phân chia. phép chia số nguyên và phép chia float . Phép chia số nguyên trả về sàn của phép chia. Nghĩa là, các giá trị sau dấu thập phân bị loại bỏ.
Điều gì xảy ra khi bạn chia một số nguyên cho một số nguyên?Khi một số nguyên được chia cho một số nguyên khác, thì nó thỏa mãn thuật toán chia có nội dung ' cổ tức = số chia × thương + số dư '. Khi một số nguyên chia cho 1, kết quả luôn là chính số nguyên đó. Ví dụ: -5 ÷ 1 = -5. |