Cách trừ biến trong python

Toán tử phép trừ trong Python nhận hai toán hạng, toán hạng đầu tiên ở bên trái và toán hạng thứ hai ở bên phải và trả về hiệu của toán hạng thứ hai từ toán hạng thứ nhất

Ký hiệu được sử dụng cho toán tử Phép trừ Python là -

cú pháp

Sau đây là cú pháp của Toán tử số học phép trừ Python với hai toán hạng

result = operand_1 - operand_2

trong đó

a = 20
b = 12

result = a - b

print[result]
0 và
a = 20
b = 12

result = a - b

print[result]
1 là các số và kết quả là hiệu của
a = 20
b = 12

result = a - b

print[result]
1 từ
a = 20
b = 12

result = a - b

print[result]
0

ví dụ 1. Phép trừ các số

Trong ví dụ này, chúng ta sẽ lấy hai số nguyên, trừ chúng và in kết quả

Chương trình Python

a = 20
b = 12

result = a - b

print[result]
Chạy

đầu ra

8

Xâu chuỗi toán tử trừ

Bạn có thể trừ nhiều hơn một số từ một số trong một câu lệnh. Điều này là do, Toán tử trừ hỗ trợ xâu chuỗi

Chương trình Python

a = 63
b = 12
c = 5
d = 10

result = a - b - c - d

print[result]
Chạy

đầu ra

________số 8_______

ví dụ 2. Phép trừ các số dấu phẩy động

Float là một trong những kiểu dữ liệu số. Bạn có thể tính toán sự khác biệt của các số dấu phẩy động bằng toán tử Phép trừ Python

Chương trình Python

a = 12.5
b = 10.2

result = a - b

print[result]
Chạy

đầu ra

2.3000000000000007

ví dụ 3. Phép trừ số phức

Bạn có thể tìm phép trừ của các số phức bằng cách sử dụng -. Trong chương trình ví dụ sau, chúng ta sẽ lấy hai số phức và tìm hiệu của chúng

Chương trình Python

a = 1 + 8j
b = 3 + 5j

result = a - b

print[result]
Chạy

đầu ra

[-2+3j]

Tóm lược

Trong hướng dẫn về Ví dụ Python này, chúng ta đã tìm hiểu Toán tử số học phép trừ Python là gì, cách sử dụng nó để tìm hiệu của hai hoặc nhiều số

Python cung cấp toán tử x -= y để trừ hai đối tượng tại chỗ bằng cách tính chênh lệch x - y và gán kết quả cho toán hạng đầu tiên tên biến

>>> x = 3
>>> x = x - 2
>>> x
1
0. Bạn có thể thiết lập hành vi trừ tại chỗ cho lớp của riêng mình bằng cách ghi đè phương thức "dunder" ma thuật
>>> x = 3
>>> x = x - 2
>>> x
1
1 trong định nghĩa lớp của bạn

>>> x = 3
>>> x -= 2
>>> x
1

Biểu thức x -= y là đường cú pháp cho dạng dài hơn

>>> x = 3
>>> x = x - 2
>>> x
1
3

>>> x = 3
>>> x = x - 2
>>> x
1

Hãy khám phá một số ví dụ về các kiểu dữ liệu khác nhau của toán hạng

Ví dụ số nguyên

Toán tử

>>> x = 3
>>> x = x - 2
>>> x
1
4 trên toán hạng số nguyên lưu trữ chênh lệch toán học của cả hai toán hạng trong tên biến của toán hạng bên trái

>>> x = 82
>>> x -= 40
>>> x
42

Ví dụ nổi

Nếu ít nhất một trong các toán hạng là một giá trị float, thì kết quả cũng là một float—float có tính lây lan

>>> x = 2
>>> x -= 10.0
>>> x
-8.0

Đặt ví dụ

Nếu toán hạng là tập hợp, kết quả của phép toán trừ tại chỗ sẽ ghi đè tập hợp hiện có bằng phép toán chênh lệch tập hợp

>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}

Toán tử trừ tại chỗ trên tập hợp không tạo đối tượng tập hợp mới nhưng hoạt động trên tập hợp hiện có. Thay đổi cài đặt tại chỗ cho một biến

>>> x = 3
>>> x = x - 2
>>> x
1
0 có tác dụng phụ. Chẳng hạn, một biến khác
>>> x = 3
>>> x = x - 2
>>> x
1
6 có thể trỏ đến cùng một đối tượng trong bộ nhớ được cập nhật thông qua việc sử dụng phép trừ tại chỗ trên bất kỳ biến nào khác trỏ đến cùng một đối tượng đó trong bộ nhớ

>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}

Loại dữ liệu không tương thích

Điều gì sẽ xảy ra nếu hai toán hạng có kiểu dữ liệu không tương thích—không giống như số float và số nguyên?

>>> x = 4
>>> x -= [1, 2, 3]
Traceback [most recent call last]:
  File "", line 1, in 
    x -= [1, 2, 3]
TypeError: unsupported operand type[s] for -=: 'int' and 'list'

Kết quả của phép cộng không tương thích là một

>>> x = 3
>>> x = x - 2
>>> x
1
7. Bạn có thể khắc phục bằng cách chỉ sử dụng các loại dữ liệu tương thích cho thao tác bổ sung tại chỗ

Bạn có thể sử dụng toán tử cộng trên các đối tượng tùy chỉnh không?

Phương pháp ma thuật trừ tại chỗ của Python

Để sử dụng toán tử trừ tại chỗ

>>> x = 3
>>> x = x - 2
>>> x
1
4 trên các đối tượng tùy chỉnh, bạn cần xác định phương thức
>>> x = 3
>>> x = x - 2
>>> x
1
9 [“phương thức dunder”, “phương thức ma thuật”] nhận hai đối số
>>> x = 82
>>> x -= 40
>>> x
42
0 và
>>> x = 82
>>> x -= 40
>>> x
42
1, cập nhật đối số đầu tiên
>>> x = 82
>>> x -= 40
>>> x
42
0 với kết quả của phép trừ

Trong đoạn mã sau, bạn trừ hai đối tượng

>>> x = 82
>>> x -= 40
>>> x
42
3 với nhau bằng cách kết hợp nội dung của chúng

class Data:

    def __init__[self, data]:
        self.data = data

    def __isub__[self, other]:
        self.data -= other.data
        return self

x = Data[44]
y = Data[2]

x -= y
print[x.data]
# 42

Bạn có thể thấy rằng nội dung của toán hạng đầu tiên được cập nhật do hoạt động trừ tại chỗ

Toán tử tại chỗ Python

[còn được gọi là toán tử gán phức hợp] thực hiện một thao tác tại chỗ trên một biến được cung cấp làm toán hạng đầu tiên. Chúng ghi đè giá trị của biến toán hạng đầu tiên bằng kết quả của phép toán khi thực hiện toán tử không gán. Ví dụ,

>>> x = 82
>>> x -= 40
>>> x
42
4 cũng giống như
>>> x = 82
>>> x -= 40
>>> x
42
5 đầu tiên tính kết quả của
>>> x = 82
>>> x -= 40
>>> x
42
6 và sau đó gán nó cho biến x

OperatorNameShort ExampleEquivalent Long Example
>>> x = 82
>>> x -= 40
>>> x
42
7
>>> x = 82
>>> x -= 40
>>> x
42
8
>>> x = 82
>>> x -= 40
>>> x
42
9In-place Addition
>>> x = 82
>>> x -= 40
>>> x
42
4
>>> x = 82
>>> x -= 40
>>> x
42
5
>>> x = 3
>>> x = x - 2
>>> x
1
4In-place Subtraction
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
3
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
4
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
5In-place Multiplication
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
6
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
7
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
8In-place Division
>>> x = 2
>>> x -= 10.0
>>> x
-8.0
9
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
0
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
1In-place Modulo
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
2
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
3
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
4In-place Integer Division
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
5
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
6
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
7In-place Power
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
8
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> my_set -= {1, 'Bob', 'Alice'}
>>> my_set
{'Carl'}
9
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
0In-place Bitwise And
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
1
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
2
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
3In-place Bitwise Or
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
4
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
5
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
6In-place Bitwise XOR
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
7
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
8
>>> my_set = {'Alice', 'Bob', 'Carl'}
>>> x = my_set
>>> x -= {1, 'Bob', 'Alice'}
>>> x
{'Carl'}
>>> my_set
{'Carl'}
9In-place Bitwise Shift Right
>>> x = 4
>>> x -= [1, 2, 3]
Traceback [most recent call last]:
  File "", line 1, in 
    x -= [1, 2, 3]
TypeError: unsupported operand type[s] for -=: 'int' and 'list'
0
>>> x = 4
>>> x -= [1, 2, 3]
Traceback [most recent call last]:
  File "", line 1, in 
    x -= [1, 2, 3]
TypeError: unsupported operand type[s] for -=: 'int' and 'list'
1> x = 4 >>> x -= [1, 2, 3] Traceback [most recent call last]: File "", line 1, in x -= [1, 2, 3] TypeError: unsupported operand type[s] for -=: 'int' and 'list'2
>>> x = 4
>>> x -= [1, 2, 3]
Traceback [most recent call last]:
  File "", line 1, in 
    x -= [1, 2, 3]
TypeError: unsupported operand type[s] for -=: 'int' and 'list'
3

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

làm thế nào

-= Phép trừ . Subtracts a value from the variable and assigns the result to that variable.

Chúng ta có thể trừ hai chuỗi trong Python không?

Chuỗi Python không có toán tử trừ . Nếu bạn muốn lấy sự khác biệt của chuỗi, đây là một cách đơn giản và dễ hiểu. Bạn có thể lặp lại tất cả các chữ cái trong một chuỗi bằng câu lệnh for và kiểm tra chuỗi có chứa một chữ cái bằng câu lệnh if-in không. s là x - y hoặc sự khác biệt của x và y.

Chủ Đề