연산자
산술연산자
비트 연산자
print( 7 + 2 ) # 9
print( 7 - 2 ) # 5
print( 7 * 2 ) # 14
print( 7 / 2 ) # 3.5
print( 7 ** 2 ) # 49
print( 7 // 2 ) # 3
print( 7 % 2 ) # 1
위에서부터 순서대로 더하기, 빼기, 곱하기, 나누기, 제곱, 나눗셈의 몫, 나눗셈의 나머지.
덧으로, 나눗셈을 연산하는 divmod()라는 함수도 있는데,
print(divmod( 5, 3 )) # (1, 2)
divmod()는 몫과 나머지를 튜플로 반환한다.
할당연산자
number = 3
number += 3
number -= 3
number *= 3
number /= 3
number **= 3
number //= 3
number %= 3
비트 연산자
def binary(n):
return "{:08b}".format(n)
def main():
a, b = 0x55, 0xaa
print(binary(a)) # 01010101
print(binary(b)) # 10101010
# 비트 연산자
print(binary(a & b)) # 00000000
print(binary(a | b)) # 11111111
print(binary(a ^ b)) # 11111111
print(binary(a ^ 0x00)) # 01010101
print(binary(a ^ 0xff)) # 10101010
print(binary(a << 4)) # 10101010000
print(binary(a >> 4)) # 00000101
print(binary(~ a)) # -1010110
비트 연산자에는 AND, OR, XOR, 왼쪽 쉬프트, 오른쪽 쉬프트, 그리고 보수 연산자가 있다.
비교 연산자
a, b = 5, 3
print(a == b) # False
print(a != b) # True
print(a > b) # True
print(a >= b) # True
print(a < b) # False
print(a <= b) # False
print(a is b) # False
print(a is not b) # True
== 연산자는 값을 비교하는 것이고, is 연산자는 동일한 ID인지를 판별하는 것이다.
예전에는 !=과 같은 의미의 <> 연산자도 있었는데, 최근 버전에서는 완전히 사라졌나보다.
논리 연산자
print( True and False) # False
print( True or False) # True
print( not True ) # False
대부분의 다른 프로그래밍 언어들에서는 &&, ||, ! 과 같은 기호를 사용하지만, 파이썬에서는 and, or, not을 논리 연산자로 사용하고 있다.
범위 연산자
list1 = list(range( 100)) # 0 ~ 99
print(list1[ 2]) # 2
print(list1[ 12:48 ]) # 12 ~ 47
print(list1[ 12:48:2]) # 12, 14, 16, 18, ~ , 44, 46
[] 연산자는 타 프로그래밍 언어에서 배열의 요소를 사용하는 것과 같다고 보면 된다.
[:] 연산자는 리스트의 일부 구간을 반환하는데, 앞 부분은 시작 인덱스, 뒷부분은 끝 인덱스이다. 주의해야 할 것은, 끝나는 인덱스는 포함되지 않는다는 것이다.
[::] 연산자는 위와 마찬가지로 리스트의 일부 구간을 반환하지만, 추가로 스텝을 지정할 수 있다.
멤버 연산자
list1 = [0, 1, 2, 3, 4, 5]
print( 3 in list1) # True
print( 7 not in list1) # True
in 연산자는 해당 값이 리스트에 포함되어 있으면 참이다.
연산자의 우선 순위
연산자의 우선 순위는 프로그래밍 연산에서 매우 중요한 주제이기는 하지만, 여기에 일일이 나열한다고 외울 것도 아니고...
헷갈리면 그 때 그 때 찾아보면 되고, 그래도 헷갈리면 괄호를 남발하면 되고.
증감 연산자
a++ 이라거나 --a, a--, --a 등등 이런거 파이썬에는 없다.
댓글
댓글 쓰기