Trong bài đăng này, bạn sẽ học Python 3 Division, cũng như một số điều kỳ quặc bất ngờ của nó. Bạn sẽ học cách sử dụng cả phương pháp số nguyên và sàn, cũng như cách diễn giải một số kết quả ít được mong đợi của nó. Show
Phân khu Python - Những cách khác nhauPython có hai toán tử phân chia khác nhau,
Phân chia sàn Python, sử dụng toán tử Hãy cùng xem cách thức hoạt động của nó trong hành động, bằng cách xem xét một vài ví dụ: # Two float values >> 7.0 // 2.0 3.0 # A single float value >> 7 // 2.0 3.0 # Two integers >> 7 // 2 3 Một lưu ý thú vị về điều này là những gì xảy ra với các số âm: >> -7.0 // 3 -3.0 Về mặt logic, điều này có ý nghĩa. Kết quả sẽ được làm tròn xuống (tức là, đứng), có nghĩa là trong khi chúng ta có thể mong đợi nó bằng >> -7.0 // 3 -3.01, được làm tròn xuống, giá trị là chính xác >> -7.0 // 3 -3.02. Phân chia phao PythonPhân chia Float Python sử dụng toán tử # Two integers >> 7 / 3 2.33 # One floating point value >> 7.0 / 3 2.33 # Two floating point values >> 7.0 / 3.0 2.33 Như bạn có thể thấy, kết quả trả về các giá trị mà bạn mong đợi, bất kể bạn có phân chia số nguyên, phao hay sự pha trộn của cả hai. Sự kết luậnChia trong Python cung cấp các cách khác nhau để chia số. Có một sự hiểu biết vững chắc về các nhà khai thác này làm cho bạn trở thành một lập trình viên tốt hơn nhiều bằng cách hiểu rõ về những điều cơ bản. Để tìm hiểu thêm về những điều này, hãy xem các tài liệu chính thức. Kiểm tra một số hướng dẫn Python khác ở đây. Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các hướng dẫn dưới đây:
Hàm phân chia trong Python có hai biến thể:
Phân chia phao ( /)Hoạt động phân chia float Cần lưu ý rằng đối với các giá trị thập phân định kỳ, có giới hạn về số lượng biến >> -7.0 // 3 -3.05 có thể lưu trữ, do đó không phải lúc nào cũng có thể lưu trữ giá trị chính xác. Giá trị trả về cho toán tử phân chia float luôn thuộc loại >> -7.0 // 3 -3.05, ngay cả khi các toán hạng của toán tử không phải là các biến >> -7.0 // 3 -3.05.
Ví dụ phân chia floatVí dụ về mã sau đây cho thấy rằng bất kể loại dữ liệu số của bạn là gì, câu trả lời của bạn luôn ở loại >> -7.0 // 3 -3.05 nếu bạn sử dụng toán tử phân chia float.
Phân chia số nguyên (//)Hoạt động phân chia số nguyên Giá trị trả về cho toán tử phân chia số nguyên thuộc loại # Two integers >> 7 / 3 2.33 # One floating point value >> 7.0 / 3 2.33 # Two floating point values >> 7.0 / 3.0 2.330 nếu cả hai toán tử đều là số nguyên. Ngược lại, nó trả về giá trị >> -7.0 // 3 -3.05 nếu một trong các toán hạng là một chiếc phao.
Ví dụ phân chia số nguyênVí dụ mã sau đây cho thấy sự phân chia của hai số nguyên để tạo ra kết quả số nguyên.
Ví dụ sau đây chứng minh rằng nếu một trong các toán hạng (hoặc cả hai) là >> -7.0 // 3 -3.05, thì câu trả lời cũng là một >> -7.0 // 3 -3.05, nhưng được làm tròn đến số toàn bộ giới hạn dưới gần nhất.
Lưu ý làm thế nào kết quả là giá trị loại >> -7.0 // 3 -3.05, nhưng cũng như đối với phân chia số nguyên thông thường mà chúng ta đã thấy trước đó, kết quả vẫn còn được. Điều này có nghĩa là chỉ phần thương số được giữ từ câu trả lời nổi ban đầu, trong khi mọi thứ đến sau khi số thập phân bị loại bỏ và được biểu thị bằng 0. Bản quyền © 2022 Giáo dục, Inc. Tất cả quyền được bảo lưu Tại sao sự phân chia trong Python trở lại một chiếc phao?Toán tử phân chia sàn (//) chủ yếu được sử dụng khi bạn yêu cầu một số nguyên hoặc cần trả về số nguyên nhỏ nhất nhỏ hơn hoặc bằng đầu vào. Nếu các toán hạng là cả hai số nguyên, thì đầu ra sẽ là một số nguyên. Nếu một trong hai toán hạng là một float thì đầu ra sẽ là một float.If either operand is a float then the output will be a float.
Bộ phận có tạo ra một chiếc phao trong Python không?Trong Python 3, "/" Đồng đều hoạt động như một toán tử phân chia nổi.Vì vậy, nó luôn trả về loại float: 10/3 trả về 3.333333 thay vì 3, 6/3 trả về 2.0 thay vì 2."/" uniformly works as a float division operator. So, it always returns the float type: 10/3 returns 3.333333 instead of 3, 6/3 returns 2.0 instead of 2.
Bộ phận có dẫn đến một chiếc phao không?Phân chia float trả về một xấp xỉ điểm nổi của kết quả của một bộ phận.Ví dụ, .Chỉ có một số giá trị nhất định sau khi thập phân có thể được lưu trữ, do đó không thể lưu trữ một biểu diễn nhị phân chính xác của nhiều số điểm nổi.. For example, . Only a certain number of values after the decimal can be stored, so it is not possible to store an exact binary representation of many floating point numbers.
Làm thế nào để Python xử lý sự phân chia?Trong Python, có hai loại toán tử phân chia: /: chia số bên trái cho số bên phải của nó và trả về giá trị điểm nổi.//: Chia số ở bên trái cho số bên phải của nó, làm tròn câu trả lời và trả về một số toàn bộ. |