Ngôn ngữ Python có cung cấp các phương thức (hàm) để thực hiện các phép toán tại chỗ (inplace operations), tức là, ta có thể thực hiện cả phép gán và phép tính toán trong cùng một câu lệnh duy nhất bằng cách sử dụng một module có tên là “operator”. Ví dụ:

x += y is equivalent to x = operator.iadd(x, y)

Một số hàm toán Inplace chỗ quan trọng là:

1. iadd(): Hàm này được sử dụng để gán và cộng giá trị hiện tại. Hàm này sẽ thực hiện phép toán “a+=b”.  Thao tác gán sẽ không được thực hiện trong trường hợp biến container (là biến chứa giá trị, nằm ở vế trái) thuộc các kiểu dữ liệu bất biến – immutable (không thể thay đổi) như kiểu string, kiểu number, và kiểu tuple (tức là, giả sử ta không thể cộng hai đối tượng thuộc kiểu tuple để thu được một giá trị nào đó => kiểu tuple được coi là immutable).

2. iconcat(): Hàm này được sử dụng để nối một chuỗi vào phía cuối của chuỗi khác.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python code to demonstrate the working of  
# iadd() and iconcat() 
  
# importing operator to handle operator operations 
import operator 
  
# using iadd() to add and assign value 
x = operator.iadd(2, 3); 
  
# printing the modified value 
print ("The value after adding and assigning : ", end="") 
print (x) 
  
# initializing values 
y = "cafedevn"
  
z = "forcafedevn"
  
# using iconcat() to concat the sequences 
y = operator.iconcat(y, z) 
  
# using iconcat() to concat sequences  
print ("The string after concatenation is : ", end="") 
print (y) 

Kết quả in ra là:

The value after adding and assigning : 5
The string after concatenation is : cafedevnforcafedevn

3. isub(): Hàm này được sử dụng để gán và trừ đi giá trị hiện tại. Hàm này sẽ thực hiện phép toán “a-=b”. Thao tác gán sẽ không được thực hiện trong trường hợp biến container (là biến chứa giá trị, nằm ở vế trái) thuộc các kiểu dữ liệu bất biến – immutable (không thể thay đổi) như kiểu string, kiểu number, và kiểu tuple (tức là, giả sử ta không thể cộng hai đối tượng thuộc kiểu tuple để thu được một giá trị nào đó => kiểu tuple được coi là immutable).  

4. imul(): Hàm này được sử dụng để gán và nhân giá trị hiện tại (với một số nào đó ở bên vế phải). Hàm này sẽ thực hiện phép toán “a*=b”. Thao tác gán sẽ không được thực hiện trong trường hợp biến container (là biến chứa giá trị, nằm ở vế trái) thuộc các kiểu dữ liệu bất biến – immutable (không thể thay đổi) như kiểu string, kiểu number, và kiểu tuple. 

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python code to demonstrate the working of  
# isub() and imul() 
  
# importing operator to handle operator operations 
import operator 
  
# using isub() to subtract and assign value 
x = operator.isub(2, 3); 
  
# printing the modified value 
print ("The value after subtracting and assigning : ", end="") 
print (x) 
  
# using imul() to multiply and assign value 
x = operator.imul(2, 3); 
  
# printing the modified value 
print ("The value after multiplying and assigning : ", end="") 
print (x) 

Kết quả in ra là:

The value after subtracting and assigning : -1
The value after multiplying and assigning : 6

5. itruediv(): Hàm này được sử dụng để gán và chia giá trị hiện tại. Hàm này sẽ thực hiện phép toán “a/=b”. Thao tác gán sẽ không được thực hiện trong trường hợp biến container (là biến chứa giá trị, nằm ở vế trái) thuộc các kiểu dữ liệu bất biến – immutable (không thể thay đổi) như kiểu string, kiểu number, và kiểu tuple.

6. imod(): Hàm này được sử dụng để gán và trả về số dư (remainder). Hàm này sẽ thực hiện phép toán “a%=b”. Thao tác gán sẽ không được thực hiện trong trường hợp biến container (là biến chứa giá trị, nằm ở vế trái) thuộc các kiểu dữ liệu bất biến – immutable (không thể thay đổi) như kiểu string, kiểu number, và kiểu tuple.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python code to demonstrate the working of  
# itruediv() and imod() 
  
# importing operator to handle operator operations 
import operator 
  
# using itruediv() to divide and assign value 
x = operator.itruediv(10, 5); 
  
# printing the modified value 
print ("The value after dividing and assigning : ", end="") 
print (x) 
  
# using imod() to modulus and assign value 
x = operator.imod(10, 6); 
  
# printing the modified value 
print ("The value after modulus and assigning : ", end="") 
print (x) 

Kết quả in ra là:

The value after dividing and assigning : 2.0
The value after modulus and assigning : 4

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!