Phép chia trong Python là gì

Toán tử dấu gạch chéo kép phía trước ________ 31 ________ thực hiện phép chia số nguyên và toán tử dấu gạch chéo đơn phía trước / thực hiện phép chia float. Một ví dụ cho phép chia số nguyên là

>>> x = 60 // 12
>>> print(x)
5
0. Một ví dụ cho phép chia float là
>>> x = 60 // 12
>>> print(x)
5
1

>>> # Python 3
>>> 40//11
3
>>> 40/11
3.6363636363636362

Bộ phận Python Deep Dive

Phép chia trong Python là gì

Xem video này trên YouTube

Một bài học quan trọng mà bạn cần nắm vững với tư cách là một lập trình viên là “phép chia trong Python”. Chia trong Python nghĩa là gì?

Vì vậy, bạn có thể hỏi. cách bạn chia 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 chia hai số và trả về một số nguyên
  • Phép chia float chia hai số và trả về giá trị "dấu phẩy động" thập phân

⭐ Nhiều người nhầm lẫn về cách sử dụng toán tử được chấp nhận khi chia hai số. Đặc biệt là khi họ áp dụng phép chia bất ngờ trả về một số nguyên chứ không phải là số float như mong đợi. Ví dụ, Java sử dụng phép chia số nguyên bỏ qua phần dư, i. e. , không có giá trị thập phân, vì vậy nó sẽ luôn trả về một số nguyên. Đây là một nguồn phổ biến của lỗi

Phân chia Python phụ thuộc vào các toán tử được sử dụng

  • Việc sử dụng phép chia thông thường sử dụng toán tử dấu gạch chéo trước duy nhất /. Toán tử này sẽ dẫn đến một giá trị thập phân
  • Phân chia tầng sử dụng dấu gạch chéo kép phía trước toán tử //. Toán tử này sẽ dẫn đến một số nguyên hoặc giá trị số nguyên được cung cấp
  • Sau đó, chúng ta có thể tiến thêm một bước và sử dụng Toán tử Modulo (ký hiệu phần trăm)
    >>> x = 60 // 12
    >>> print(x)
    5
    4 cung cấp cho bạn giá trị còn lại hoặc số không.  

Hãy khám phá ba toán tử chia này chi tiết hơn trong phần tiếp theo

Bộ phận tầng //

Trăn 2. x theo mặc định chia hai số nguyên bằng cách sử dụng phép chia số nguyên, còn được gọi là phép chia sàn vì nó áp dụng hàm sàn sau phép chia thông thường để “làm tròn số”. Python 2 đánh giá biểu thức

>>> x = 60 // 12
>>> print(x)
5
5 đến
>>> x = 60 // 12
>>> print(x)
5
6. Tuy nhiên, dấu gạch chéo trước duy nhất để phân chia tầng “/” không được dùng nữa và từ Python 2. 2 trở đi, bạn nên sử dụng toán tử dấu gạch chéo trước kép để phân chia tầng. Ví dụ: kết quả của
>>> x = 60 // 12
>>> print(x)
5
7 là
>>> x = 60 // 12
>>> print(x)
5
6

Một ví dụ về phân chia tầng được ghi chú trong mã Python 3 được liệt kê bên dưới

>>> x = 60 // 12
>>> print(x)
5

Vì vậy, chúng tôi thấy rằng khi chúng tôi cần một số nguyên được tạo trong mã của mình để hoàn thành các tác vụ cụ thể, chúng tôi sẽ sử dụng toán tử chia tầng này //

Bộ phận nổi /

Trong Python 3, dấu gạch chéo trước đơn “/” là toán tử chia float, kết quả là trả về giá trị float. Ví dụ: biểu thức

>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0
0 trả về
>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0
1 thay vì
>>> x = 60 // 12
>>> print(x)
5
6 và
>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0
3 trả về
>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0
4 thay vì
>>> x = 60 // 12
>>> print(x)
5
6

>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0

Phép chia số nguyên /

Hãy cẩn thận sử dụng loại Python cập nhật nhất hiện có. Ví dụ: Trăn 2. 0 trả về một số nguyên thay vì một giá trị float cho toán tử /. Ngoài ra, khi chúng tôi thực hiện phép chia trong Python, chúng tôi muốn cẩn thận giá trị nào chúng tôi chia cho. Ta thấy nếu chia cho một số nguyên thì sẽ làm tròn thành số nguyên

>>> 10 / 90
0

Ghi đè bộ phận trong Python

Trong Trăn 3. x, bạn có thể quá tải phép chia bằng cách sử dụng các phương thức ma thuật

>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0
7 và
>>> # Python 3
>>> 10/4
2.5
>>> 4/2
2.0
8. Cái trước tương ứng với toán tử dấu gạch chéo trước kép // trả về một số nguyên và cái sau tương ứng với toán tử dấu gạch chéo trước đơn / trả về một số float. Lưu ý rằng một lỗi phổ biến phát sinh từ việc cố gắng ghi đè phương thức ma thuật
>>> 10 / 90
0
1 thay vì

Ví dụ sau ghi đè cả hai toán tử chia của một lớp tùy chỉnh

>>> 10 / 90
0
2

class Number:
    def __init__(self, x):
        self.x = x

    def __floordiv__(self, other):
        return self.x // other.x

    def __truediv__(self, other):
        return self.x / other.x


my = Number(42)
your = Number(21)

print(my/your)
# 2.0

print(my//your)
# 2

Toán tử Modulo %

Toán tử Modulo

>>> 10 / 90
0
3 là toán tử chia đặc biệt tính toán phần còn lại của phép chia số nguyên

Python Modulo - Hướng dẫn minh họa đơn giản

Phép chia trong Python là gì

Xem video này trên YouTube

Ví dụ. Nó có thể được sử dụng để tìm ra năm nhuận. Chúng ta có thể thiết lập một chương trình lịch. Một năm nhuận xảy ra mỗi năm thứ tư. Nó có 29 ngày trong tháng 2 thay vì 28 ngày và có 366 ngày trong năm. Nó xảy ra vào năm 1996, 2000, 2004, 2008… 2020 và cứ sau 4 năm. Vì vậy, chúng ta có thể tìm hiểu xem một năm có phải là năm nhuận hay không bằng cách chia nó cho 4. Nếu câu trả lời cho phần còn lại là 0, đó là một năm nhuận

Toán tử Modulo được gọi là phần còn lại từ phép chia của đối số thứ nhất cho đối số thứ hai. Làm việc với toán tử này, chúng tôi thấy rằng các số đầu tiên được chuyển đổi thành loại phổ biến của chúng

Một lỗi chia không được gây ra nếu đối số bên phải là số không. Các đối số này có thể là số dấu phẩy động. Chúng tôi thấy rằng giá trị tuyệt đối cho kết quả nhỏ hơn toán hạng thứ hai. Và kết quả của việc sử dụng toán tử modulo sẽ luôn mang lại cùng dấu với toán hạng thứ hai hoặc bằng 0. Để xem kết quả của việc sử dụng toán tử Modulo, bạn có thể làm theo mã được viết bên dưới.    

year_input = int(input("enter a year: "))
if year_input % 4 == 0:
    print("Remainder is zero!", year_input, "is a leap year!")
else:
    print(year_input, "is not a leap year!")

Nếu chúng ta nhập 2004 vào đoạn mã trên, chúng ta sẽ nhận được phản hồi cho biết phần còn lại bằng 0. Vậy năm 2004 là năm nhuận. Tuy nhiên, nếu chúng ta đặt năm 2021 vào phương trình,  câu trả lời cho dữ liệu đầu vào sẽ là

>>> 10 / 90
0
4

Bộ phận NumPy Đọc thêm

Một mức độ khó hơn nữa với việc sử dụng phép chia trong Python là việc sử dụng Numpy. Numpy là một công cụ có mục đích chung cho phép xử lý nhiều số được sắp xếp trong mảng

Khi bạn có nhiều quy trình phân chia đang diễn ra, bạn có thể tăng tốc đáng kể bằng cách sử dụng phân chia NumPy. Nó cũng thực hiện phân chia phần tử khôn ngoan hoạt động trên các mảng NumPy đa chiều như vậy

import numpy as np

# Create 2D lists
a = [[1, 2, 3],
     [4, 5, 6]]

b = [[2, 4, 6],
     [8, 10, 12]]


# Convert lists to 2D NumPy arrays
a = np.array(a)
b = np.array(b)

# Divide the 2D arrays
print(a / b)

Kết quả của phép chia này được in ra shell là một mảng float

[[0.5 0.5 0.5]
 [0.5 0.5 0.5]]

Bài viết liên quan. Hướng dẫn cơ bản về NumPy

Bản tóm tắt

Vì vậy, tóm lại, chúng ta đã xem xét cách sử dụng phép chia trong Python từ công thức đơn giản nhất với phép chia đơn giản bằng cách sử dụng toán tử / đến cách sử dụng phép chia phức tạp hơn với Python bằng cách sử dụng toán tử // để đưa ra một số nguyên . Chúng tôi cũng có thể đã hoàn thành điều này với hai đối số khác nhau. Chúng ta có thể sử dụng các hàm

>>> 10 / 90
0
7 và
>>> 10 / 90
0
8. Chúng tôi sẽ sử dụng
>>> 10 / 90
0
7 để cung cấp cho chúng tôi giá trị thập phân và
>>> 10 / 90
0
8 để cung cấp cho chúng tôi số nguyên

Sau đó, chúng tôi chuyển sang sử dụng Toán tử Modulo. Điều này cho phép chúng tôi sử dụng phần còn lại của quá trình phân chia. Chúng được tích hợp vào mã của chúng tôi để thực hiện các chức năng cụ thể. Sau đó, các chức năng này được sử dụng để tìm ra khi nào Năm nhuận sẽ xảy ra cho chương trình lịch của chúng tôi. Và cuối cùng, chúng ta đạt đến đỉnh điểm của việc sử dụng phép chia trong Python

Chúng tôi triển khai Numpy để thực hiện nhanh nhiều phép tính. Điều này cho phép chúng tôi sử dụng dữ liệu lớn để có thể thực hiện nhiều phép tính trong phép chia nhiều số một cách nhanh chóng và hiệu quả

Phân chia trong mã hóa là gì?

Bộ phận (/) . produces the quotient of its operands where the left operand is the dividend and the right operand is the divisor.

Các loại phân chia Python là gì?

Trong Python, có hai kiểu phân chia. phép chia số nguyên và phép chia số thực .

Phân chia float hay int trong Python?

Hàm chia trong Python có hai biến thể. Phép chia float. đưa ra một câu trả lời thập phân. Phép chia số nguyên. đưa ra câu trả lời ở dạng số nguyên (kết quả phép chia được làm tròn đến số nguyên gần nhất).