본문으로 바로가기
728x90
반응형

모든 언어가 마찬가지듯이 파이썬의 연산자도 다른 언어와 비슷하다. 물론 특별하게 파이썬만 되는 연산자와 함수도 존재한다. 생각보다 좋은 연산자들이 많이 있다. C나 C++을 사용하다보면 참 답답할 때가 많은데 연산자가 거의 기본 수준이기 때문에 필요한 연산자는 함수를 만드는 경우가 많이 있다. 그런데 역시 최신(?) 언어인 파인썬은 이런 불편한 점을 고려해 연산자와 함수를 사용자가 편리하게 사용할 수 있게 만든 것들이 눈에 보인다. 물론 성능은 약간 생각해 봐야하는 점이긴 하지만 요즘 환경은 예전과 비교도 안될 정도로 고성능이기 때문에 영향이 거의 없다고 볼 정도일 것 같다.

1. 사칙 연산자 (덧셈, 뺄셈, 곱셈, 나눗셈)

1) 덧셈 + : 5+3              8

2) 뺄셈 - : 5-3                2

3) 곱셈 * : 5 * 3             15

4) 나눗셈 / : 5/3            1.66666

2. 몫 연산자 : 숫자를 나누고 소수점 이하는 버리는 나누기 연산자 (//)

 5//3            1

3. 나머지 연산자 : 숫자를 나누고 나머지를 구하는 연산자 (%)

 5%3          2

 나머지 연산자의 경우는 함수로도 있다. divmod 함수는 몫과 나머지를 구한다.

 divmod(5,3)                (1,2)

4. 제곱 연산자 ( ** )

 5 ** 3             125

 제곱 연산자의 경우도 함수인 pow가 있다.

 pow(5,3)         125

5. 복합 대입 연산자 (+=, -=, *=, /=, %=, **=) : 복합대입 연산자는 자기 자신에 연산 후 다시 대입하는 연산자이다.

 a=5

 a += 3                 // a = a+3과 같다

 8

6. 문자열 연결 연산자 (+)

 파이썬은 C나 C++과 다르게 문자 자체를 연산할 수 있다. 제한적이긴 하지만 다른 언어에서 문자 1과 2를 연결해서 문자 12를 만들려면 꽤 귀찮은 과정을 격어야 하지만 파이썬은 문자를 더하면 간단하게 해결된다. 별거 아닌 거 같지만 생각보다 매우 훌륭하고 편리한 연산이다.

 '1'+'2'                   '12'

 a='Hello'      b="world"         print(a+b)       Hello world 

7. 문자열 반복 연산자 (*)

 문자열을 반복하고 싶을 때 문자열을 곱하면 반복된다. 

 '2' * 3                       '222'

8. 문자열 선택 연산자 (인덱싱)

 파이썬도 문자열을 저장하면 다른 언어와 마찬가지로 배열에 저장되듯 인덱싱이 된다.

 a= '안녕하세요'        print(a[1])          안

9. 문자열 범위 선택 연산자 (슬라이싱)

 문자열로 지정된 변수를 슬라이싱할 수 있다. 이 연산도 생각보다 매우 편리하다. 엑셀에서 셀 선택과 동일하게 : 을 사용하여 범위를 지정할 수 있다.

 a = '안녕하세요'           print(a[1:3])        녕하

 위 예시에서 처럼 슬라이싱 하면 두글자만 나온다. 이처럼 1번째 인덱스에서 3번째보다 작은 인덱스까지 출력한다.

 a= '안녕하세요'            print(a[0:5:2])         안하요

 이처럼 스탭도 지정할 수 있다. 0번째 인덱스부터 5번째 인덱스보다 작은 것까지 2 인덱스씩 선택된다.

 

 앞에 알아본 바와 같이 거의 다른 프로그램과 비슷하게 연산자가 사용되나 숫자에서는 제곱의 편리성이나 문자열의 연산이나 인덱스 선택등과 같이 프로그래머가 '편리하게 이렇게 연산이 되면 안되나' 하는 불만을 가지던 연산들이 추가되었다. 

 내가 공부하면서 어디에서 그러던데 파이썬은 프로그래머가 하고 싶은 데로 프로그래밍 하면 되는 언어라던데 정말 그런 것 같다. 

728x90
반응형