Phần này cafedev sẽ trình bày thêm về các hàm toán tử In-place thường dùng (toán tử Inplace – vì sao lại gọi chúng với cái tên này, các bạn hãy đọc ở phần trước nhé).

1. ixor(): Hàm này được sử dụng để gán và thực hiện phép xor giá trị hiện tại ở vế trái (với một giá trị nào đó ở 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.

2. ipow(): Hàm này được sử dụng để gán và thực hiện phép lũy thừa giá trị hiện tại ở vế trái (với số mũ là một giá trị nào đó ở 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  
# ixor() and ipow() 
  
# importing operator to handle operator operations 
import operator 
  
# using ixor() to exclusive or and assign value 
x = operator.ixor(10,5); 
  
# printing the modified value 
print ("The value after xoring and assigning : ",end="") 
print (x) 
  
# using ipow() to exponentiate and assign value 
x = operator.ipow(5,4); 
  
# printing the modified value 
print ("The value after exponentiating and assigning : ",end="") 
print (x) 

Kết quả in ra là:

The value after xoring and assigning : 15
The value after exponentiating and assigning : 625

3. iand(): Hàm này được sử dụng để gán và thực hiện phép logic end trên từng bit của giá trị hiện tại ở vế trái (với từng bit của giá trị nào đó ở 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.

4. ior(): Hàm này được sử dụng để gán và thực hiện phép logic or trên từng bit của giá trị hiện tại ở vế trái (với từng bit của giá trị nào đó ở 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  
# ior() and iand() 
  
# importing operator to handle operator operations 
import operator 
  
# using ior() to or, and assign value 
x = operator.ior(10,5); 
  
# printing the modified value 
print ("The value after bitwise or, and assigning : ",end="") 
print (x) 
  
# using iand() to and, and assign value 
x = operator.iand(5,4); 
  
# printing the modified value 
print ("The value after bitwise and, and assigning : ",end="") 
print (x) 

Kết quả in ra là:

The value after bitwise or, and assigning : 15
The value after bitwise and, and assigning : 4

5. ilshift(): Hàm này được sử dụng để gán và thực hiện phép dịch trái bit trên giá trị hiện tại – đối số đầu tiên được truyền vào hàm, với số lần dịch bit được chỉ định bởi đối số thứ hai được truyền vào hàm. 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. irshift(): Hàm này được sử dụng để gán và thực hiện phép dịch phải bit trên giá trị hiện tại – đối số đầu tiên được truyền vào hàm, với số lần dịch bit được chỉ định bởi đối số thứ hai được truyền vào hàm. 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  
# ilshift() and irshift() 
  
# importing operator to handle operator operations 
import operator 
  
# using ilshift() to bitwise left shift and assign value 
x = operator.ilshift(8,2); 
  
# printing the modified value 
print ("The value after bitwise left shift and assigning : ",end="") 
print (x) 
  
# using irshift() to bitwise right shift and assign value 
x = operator.irshift(8,2); 
  
# printing the modified value 
print ("The value after bitwise right shift and assigning : ",end="") 
print (x) 

Kết quả in ra là:

The value after bitwise left shift and assigning : 32
The value after bitwise right shift and assigning : 2

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!