연산자


산술연산자
        
    print( 2 ) # 9
    print( 2 ) # 5
    print( 2 ) # 14
    print( 2 ) # 3.5
    print( 7 ** 2 # 49
    print( // 2 ) # 3
    print( 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 등등 이런거 파이썬에는 없다.

댓글

이 블로그의 인기 게시물

Project Euler - 3

메인 스크립트

예외 처리