Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 인플레이스(Inplace) 연산자 - ixor(), iand(), ipow() 사용법

이 글에서는 파이썬 3.x에서 제공하는 인플레이스(inplace) 연산자의 개념과 활용 방법에 대해 알아보겠습니다.

파이썬은 operator 모듈을 통해 할당과 연산을 하나의 문장에서 동시에 처리할 수 있는 인플레이스 연산 메서드를 제공합니다. 이번 글에서는 그중에서도 ixor(), iand(), ipow() 함수를 중심으로 자세히 살펴보겠습니다.

1. ixor() - 배타적 논리합(XOR) 연산

ixor() 함수는 현재 값에 XOR(배타적 논리합) 연산을 수행한 뒤 그 결과를 다시 할당합니다. 일반적으로 a ^= b 연산과 동일하게 동작합니다.

단, 문자열이나 튜플처럼 값을 변경할 수 없는 불변(immutable) 데이터 타입에는 할당이 이루어지지 않으므로 주의해야 합니다.

예제

import operator as op

# ixor()를 사용한 XOR 연산
int1 = op.ixor(786, 12)

# 결과 출력
print("The value : ", end="")
print(int1)

출력 결과

The value : 798

2. iand() - 비트 AND 연산

iand() 함수는 현재 값에 비트 단위 AND(&) 연산을 수행한 후 그 결과를 할당합니다. a &= b 연산과 같은 역할을 합니다.

마찬가지로 문자열, 튜플 등 불변 데이터 타입에는 적용할 수 없습니다.

예제

# iand()를 사용한 비트 AND 연산
int2 = op.iand(57, 34)
print("The value : ", end="")
print(int2)

출력 결과

The value : 32

3. ipow() - 거듭제곱 연산

ipow() 함수는 현재 값에 거듭제곱 연산을 수행하고 그 결과를 할당합니다. a **= b 연산과 동일하게 동작합니다.

예제

# ipow()를 사용한 거듭제곱 연산
int2 = op.ipow(3, 2)
print("The value : ", end="")
print(int2)

출력 결과

The value : 9

마무리

이번 글에서는 파이썬의 인플레이스 연산자인 ixor(), iand(), ipow()의 사용법과 구현 방법을 알아보았습니다. 이러한 함수들은 할당과 연산을 한 번에 처리할 수 있어 코드를 더욱 간결하게 작성하는 데 유용합니다. 다만 문자열이나 튜플 같은 불변 데이터 타입에는 적용할 수 없다는 점을 기억해 두시기 바랍니다.