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

Các toán tử chuẩn trong Python dưới dạng các hàm


Trong lập trình, toán tử nói chung là một ký hiệu (khóa) được xác định trước để thực hiện một phép toán nhất định như cộng, trừ, so sánh, v.v. Python có một tập hợp lớn các phép toán tích hợp được chia thành các các danh mục như số học, so sánh, bit-khôn, thành viên, v.v.

Mô-đun toán tử trong thư viện python bao gồm các chức năng tương ứng với các toán tử cài sẵn. Tên của các hàm tương tự với loại toán tử tương ứng. Ví dụ:hàm add () trong mô-đun toán tử tương ứng với + toán tử.

Lớp Đối tượng của Python có các phương thức dunder (gạch dưới kép trước và sau tên) tương ứng với các ký hiệu toán tử. Các phương thức dunder này có thể được nạp chồng một cách thích hợp trong các lớp do người dùng định nghĩa để thực hiện nạp chồng toán tử. Mô-đun điều hành cũng bao gồm các hàm dunder tương ứng. Ví dụ:add () cũng như __add __ () đều triển khai hoạt động của ký hiệu +.

Để bắt đầu, hãy để chúng tôi nhập các chức năng từ mô-đun toán tử

>>> từ nhập toán tử * 

Để tìm hiểu về các hàm tương ứng với các toán tử số học, hai biến được khởi tạo là

>>> a =10>>> b =20 

add (), sub () và mul () tương ứng với các toán tử +, - và *. Ký hiệu / của phép chia được thực hiện bởi hàm truediv ().

>>> thêm (a, b) 30>>> a + b30>>> sub (a, b) -10>>> a - b-10>>> mul (a, b) 200>>> a * b200>>> truediv (a, b) 0.5>>> a / b0.5 

Các toán tử số học khác%, ** và // được thực hiện bởi các hàm mod (), pow () và floordiv () từ mô-đun toán tử.

>>> a =5>>> b =3>>> a% b2>>> mod (a, b) 2>>> a ** b125>>> pow (a, b) 125>>> a // 22>>> floordiv (a, b) 

Toán tử logic <, <=,>,> =, ==và! =được thực hiện bởi lt (), le (), gt (), ge (), eq () và ne () chức năng tương ứng.

>>> a =5>>> b =7>>> a >> lt (a, b) True>>> a <=bTrue>>> le (a, b) True>>> a> bFalse>>> gt (a, b) False>>> a> =bFalse>>> ge (a, b) False>>> a ==bFalse>>> eq (a, b) False>>> a! =bTrue>>> ne (a, b) Đúng 

Các hàm hoạt động với chuỗi

Các toán tử tích hợp trong Python, + (nối) và del lần lượt được triển khai bởi các hàm chứa (), concat (), delitem (). Đối với toán tử gán được lập chỉ mục seq [x] =y, hàm setitem () được sử dụng. Để lấy giá trị của seq [x], hàm getitem () được sử dụng.

>>> a =[1,2,3]>>> b =['a', 'b', 'c']>>> a + b #sequence concatenation [1, 2, 3, ' a ',' b ',' c ']>>> concat (a, b) [1, 2, 3,' a ',' b ',' c ']>>> chứa (a,' 2 ') #implements trong operatorFalse>>> chứa (a, 2) True>>> 2 trong aTrue>>> b [1] ='x' # chỉ định chỉ định được thực hiện bởi setitem ()>>> b ['a', 'x ',' c ']>>> setitem (b, 1,' b ')>>> b [' a ',' b ',' c ']>>> a [1] # tìm nạp giá trị tại chỉ mục - được thực hiện bởi getitem () 2>>> getitem (a, 1) 2>>> del b [2] #deleting phần tử tại chỉ mục. Hàm tương ứng là delitem ()>>> b ['a', 'b']>>> delitem (a, 2)>>> a [1, 2] 

Các toán tử thực hiện việc gán và tính toán trong một bước duy nhất được gọi là toán tử tại chỗ. Các toán tử tại chỗ của Python được triển khai bởi các hàm tương ứng trong mô-đun toán tử. Toán tử + =thực hiện thao tác thêm và gán có hàm iadd () tương ứng. Tương tự như vậy, mỗi hàm toán tử có tiền tố là ‘i’ tạo thành tương đương tại chỗ.

Bổ sung tại chỗ

>>> a =10>>> b =20>>> a =iadd (a, b) #equivalent với a + =b>>> a30 

Phép trừ tại chỗ

>>> a =10>>> b =20>>> a =isub (a, b) #equivalent với a - =b>>> a-10 

Phép nhân tại chỗ

>>> a =10>>> b =20>>> a =imul (a, b) #equiised a * =b>>> a200 

Phân chia tại chỗ

>>> a =10>>> b =4>>> a =itruediv (a, b)>>> a2.5 

Mô-đun toán tử cũng bao gồm các chức năng triển khai các toán tử tiêu chuẩn theo từng bit

>>> và_ (10,2) #equivalent 10 &22>>> or_ (10,2) #equivalent to 10 | 210>>> xor (10,2) #equivalent to 10 ^ 28>>> lshift (10,2) #equivalent to 10 <<240>>> rshift (10,2) #equivalent to 10>> 22