Computer >> Máy Tính >  >> Lập trình >> Python

Toán tử Inplace so với Chuẩn trong Python

Toán tử tại chỗ trong Python

Phép toán thay thế là một phép toán thay đổi trực tiếp nội dung của một đại số tuyến tính hoặc vectơ hoặc các ma trận mà không cần tạo bản sao. Giờ đây, các toán tử giúp thực hiện loại thao tác này được gọi là toán tử tại chỗ.

Hãy hiểu nó bằng một ví dụ đơn giản -

a=9
a += 2
print(a)

đầu ra

11

Phía trên toán tử đầu vào + =tie. Ở đây trước tiên, một phép cộng 2 với giá trị đó được cập nhật giá trị trước đó.

Nguyên tắc trên cũng áp dụng cho các nhà khai thác khác. Các toán tử tại chỗ phổ biến là -

  • + =
  • - =
  • * =
  • / =
  • % =

Nguyên tắc trên áp dụng cho các loại khác ngoài số, chẳng hạn -

language = "Python"
language +="3"
print(language)

Đầu ra

Python3

Ví dụ trên của x + =y tương đương với x =operator.iadd (x, y)

Có nhiều toán tử được sử dụng cho các hoạt động tại chỗ.

iadd ()

Hàm này được sử dụng để gán giá trị hiện tại và thêm chúng. Toán tử này thực hiện phép toán x + =y.

x =operator.iadd(9,18)
print("Result after adding: ", end="")
print(x)

Kết quả

Result after adding: 27

isub ()

Hàm này được sử dụng để gán giá trị hiện tại và trừ chúng. Hàm isub () thực hiện thao tác x- =y.

x =operator.isub(9,18)
print("Result after subtraction: ", end="")
print(x)

Kết quả

Result after subtraction: -9

imul ()

Hàm này được sử dụng để gán giá trị hiện tại và nhân chúng. Toán tử này thực hiện phép toán x * =y.

x =operator.imul(9,18)
print("Result after multiplying: ", end="")
print(x)

Kết quả

Result after multiplying: 162

itruediv ()

Hàm này được sử dụng để gán giá trị hiện tại và phân chia chúng. Toán tử này thực hiện phép toán x / =y.

x =operator.itruediv(9,18)
print("Result after dividing: ", end="")
print(x)

Kết quả

Result after dividing: 0.5

imod ()

hàm này được sử dụng để gán giá trị hiện tại và phân chia chúng. Toán tử này thực hiện thao tác x% =y.

x =operator.imod(9,18)
print("Result after moduls: ", end="")
print(x)

Kết quả

Result after moduls: 9

iconcat ()

Hàm này được sử dụng để nối hai chuỗi.

x = "Tutorials"
y = "Point"

str1 = operator.iconcat(x,y)
print(" After concatenation : ", end="")
print(str1)

Kết quả

After concatenation : TutorialsPoint

ipow ()

Hàm này tương đương với x ** =y.

x =operator.ipow(2,6)
print("Result after exponent: ", end="")
print(x)

Kết quả

Result after exponent: 64

Các toán tử tiêu chuẩn

Toán tử là các cấu trúc có thể thao tác giá trị của các toán hạng.

Ví dụ trong biểu thức- 9 + 18 =27, ở đây 9 và 18 là toán hạng và + được gọi là toán tử.

Loại nhà điều hành

Ngôn ngữ Python hỗ trợ các loại toán tử sau -

  • Toán tử số học :(ví dụ:+, -, *, /,%, **, //)

  • Toán tử so sánh :(ví dụ:“==”, “! =”, “<>”, “>”, “<”, “> =”, “<=”)

  • Người điều hành nhiệm vụ :(ví dụ:“=”, “+ =”, “- =”, “* =”, “/ =”, “% =”, “** =”, “// =”)

  • Toán tử logic :(ví dụ:“Logic AND”, “Logical OR”, “Logical NOT”)

  • Toán tử Bitwise: (ví dụ:“|”, “&”, “^”, “~”, “<<”, “>>”)
  • Nhà điều hành tư cách thành viên :(ví dụ:in, not in)

  • Người điều hành danh tính :(ví dụ:is, is not)

Ánh xạ toán tử tới các hàm

Dưới đây là bảng hiển thị cách các phép toán trừu tượng tương ứng với các ký hiệu toán tử trong cú pháp Python và các hàm trong mô-đun toán tử.

Bộ phận Bộ phận
Hoạt động
Cú pháp
Chức năng
Phép cộng
x + y
thêm (x, y)
Kết nối
Seq1 + seq2
Concat (seq1, seq2)
Kiểm tra độ kín
Mục tiêu trong seq
Chứa (seq, obj)

x / y
Truediv (x, y)

x // y
Floordiv (x, y)
Bitwise Và
x &y
And_ (x, y)
Độc quyền Bitwise Hoặc
x ^ y
Xor (x, y)
Đảo ngược chiều bit
~ x
Đảo ngược (x)
Bitwise Hoặc
x | y
hoặc_ (x, y)
Luỹ thừa
x ** y
pow (x, y)
Danh tính
x là y
is_ (x, y)
Danh tính
x không phải là y
is_not (x, y)
Bài tập được lập chỉ mục
obj [k] =v
setitem (obj, k, v)
Xóa đã lập chỉ mục
del obj [k]
delitem (obj, k)
Lập chỉ mục
Mục tiêu [k]
Getitem (obj, k)
Dịch trái
a < Dịch chuyển (a, b)
Modulo
a% b
Mod (a, b)
Phép nhân
x * y
mul (x * y)
Phép nhân ma trận
x @ b
Matmul (x, y)
Phủ định (Số học)
-a
Neg (a)
Phủ định (Logic)
không phải là
not_ (a)
Tích cực
+ a
pos (a)
Dịch chuyển phải
a>> b
Rshift (a, b)
Chuyển nhượng phần nhỏ
Seq [i:j] =giá trị
Setitem (seq, lát (i, j), giá trị)
Xóa lát
Del seq [i:j]
Delitem (seq, slice (i, j))
Cắt lát
Seq [i:j]
Getitem (seq, lát (I, j))
Định dạng chuỗi
S% obj
Mod (s, obj)
Phép trừ
a-b
Sub (a, b)
Kiểm tra sự thật
obj
sự thật (obj)
Đặt hàng
a lt (a, b)
Đặt hàng
a <=b
le (a, b)
Bình đẳng
a ==b
eq (a, b)
Sự khác biệt
a! =b
ne (a, b)
Đặt hàng
a> =b
ge (a, b)
Đặt hàng
a> b
gt (a, b)