Mô-đun trong Python w3schools

Ví dụ: toán tử + sẽ thực hiện phép cộng số học trên hai số, hợp nhất hai danh sách hoặc nối hai chuỗi

Tính năng này trong Python cho phép cùng một toán tử có ý nghĩa khác nhau tùy theo ngữ cảnh được gọi là nạp chồng toán tử

Các hàm đặc biệt của Python

Các hàm lớp bắt đầu bằng dấu gạch dưới kép __ được gọi là các hàm đặc biệt trong Python

Các chức năng đặc biệt được xác định bởi trình thông dịch Python và được sử dụng để triển khai các tính năng hoặc hành vi nhất định

Chúng được gọi là các hàm "gạch dưới kép" vì chúng có tiền tố và hậu tố gạch dưới kép, chẳng hạn như __init__[] hoặc __add__[]

Dưới đây là một số chức năng đặc biệt có sẵn trong Python,

Mô tả chức năng__init__[]khởi tạo các thuộc tính của đối tượng__str__[]trả về một chuỗi đại diện của đối tượng__len__[]trả về độ dài của đối tượng__add__[]thêm hai đối tượng

class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
1gọi các đối tượng của lớp như một hàm bình thường

Thí dụ. + Nạp chồng toán tử trong Python

Để quá tải toán tử +, chúng ta sẽ cần triển khai hàm __add__[] trong lớp

Với sức mạnh lớn đến trách nhiệm lớn. Chúng tôi có thể làm bất cứ điều gì chúng tôi thích bên trong chức năng này. Nhưng sẽ hợp lý hơn nếu trả về đối tượng

class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
4 của tổng tọa độ

Hãy xem một ví dụ,

class Point:
    def __init__[self, x=0, y=0]:
        self.x = x
        self.y = y

    def __str__[self]:
        return "[{0},{1}]".format[self.x, self.y]

    def __add__[self, other]:
        x = self.x + other.x
        y = self.y + other.y
        return Point[x, y]


p1 = Point[1, 2]
p2 = Point[2, 3]

print[p1+p2]

# Output: [3,5]

Trong ví dụ trên, điều thực sự xảy ra là, khi chúng ta sử dụng

class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
5, Python gọi
class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
6, lần lượt là
class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
7. Sau này, hoạt động bổ sung được thực hiện theo cách chúng tôi đã chỉ định

Tương tự, chúng ta cũng có thể quá tải các toán tử khác. Chức năng đặc biệt mà chúng ta cần thực hiện được lập bảng dưới đây

OperatorExpressionInternallyAddition

class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
5
class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False
6Subtraction
True
False
0
True
False
1Multiplication
True
False
2
True
False
3Power
True
False
4
True
False
5Division
True
False
6
True
False
7Floor Division
True
False
8
True
False
9Remainder [modulo]+0+1Bitwise Left Shift+2+3Bitwise Right Shift+4+5Bitwise AND+6+7Bitwise OR+8+9Bitwise XOR__0__1Bitwise NOT__2__3

Nạp chồng toán tử so sánh

Python không chỉ giới hạn nạp chồng toán tử cho các toán tử số học. Chúng ta cũng có thể quá tải các toán tử so sánh

Đây là một ví dụ về cách chúng ta có thể quá tải toán tử __4 để so sánh hai đối tượng lớp Person dựa trên __5 của chúng

class Person:
    def __init__[self, name, age]:
        self.name = name
        self.age = age

    # overload < operator
    def __lt__[self, other]:
        return self.age < other.age

p1 = Person["Alice", 20]
p2 = Person["Bob", 30]

print[p1 < p2]  # prints True
print[p2 < p1]  # prints False

đầu ra

________số 8_______

Ở đây, __6 quá tải toán tử __4 để so sánh thuộc tính tuổi của hai đối tượng

Phương thức __6 trả về,

  • __9 - nếu tuổi của đối tượng thứ nhất nhỏ hơn tuổi của đối tượng thứ hai
  • __init__[]0 - nếu tuổi của đối tượng thứ nhất lớn hơn tuổi của đối tượng thứ hai

Tương tự như vậy, các chức năng đặc biệt mà chúng ta cần thực hiện, để quá tải các toán tử so sánh khác được lập bảng dưới đây

OperatorExpressionInternallyLess than__init__[]1__init__[]2Less than or equal to__init__[]3__init__[]4Equal to__init__[]5__init__[]6Not equal to__init__[]7__init__[]8Greater than__init__[]9__add__[]0Greater than or equal to__add__[]1__add__[]2

Tôi += trong Python là gì?

Toán tử += trong Python thực hiện một toán tử cộng rồi gán kết quả của phép toán cho một biến . Toán tử += là một ví dụ về toán tử gán trong Python. Toán tử này được gọi là toán tử gán cộng.

Làm cách nào để sử dụng mô-đun toán tử trong Python?

Mô-đun toán tử xuất một tập hợp các hàm hiệu quả tương ứng với các toán tử nội tại của Python . Ví dụ, nhà điều hành. add[x, y] tương đương với biểu thức x+y. Nhiều tên hàm được sử dụng cho các phương thức đặc biệt, không có dấu gạch dưới kép.

7 toán tử trong Python là gì?

Toán tử Python .
toán tử số học
Toán tử gán
Toán tử so sánh
Toán tử logic
Toán tử nhận dạng
nhà khai thác thành viên
Toán tử bitwise

Chủ Đề