산술연산자
산술연산자는 일반적인 사칙함수 외 특이사항을 보면,
나누기( "/" )의 경우 정수/정수=실수로 나온다.
제곱은 **를 써서 하고 몫을 구하려면 //를 사용한다.
+ | 더하기 | a + b = 30 |
- | 빼기 | a - b = -10 |
* | 곱하기 | a * b = 200 |
/ | 나누기 | b / a = 2.0 |
% | 나머지 | b % a = 0 |
** | 제곱 | a ** c = 1000 |
// | 몫 | a // c = 3 |
예제소스를 통해 결과 값을 확인해 보자
a = 10 + 2 #12
b = 10-2 #8
c = 10*2 #20
d = 10/2 #5.0 정수/ 정수 ==> 실수
e = 10**2 #100
f = 10//2 #5
g = 10%2 #0
print( a,b,c,d,e,f,g )
비트 연산자
연산자 | 설명 |
& | 비트 and |
| | 비트 or |
^ | 배타적 or |
<< | 좌측 쉬프트 |
>> | 우측 쉬프트 |
구성원 연산자
연산자 | 설명 |
in | 구성원에 있다 |
not in | 구성원에 없다 |
구성원 연산자에 대한 예제를 살펴보면 하기와 같다.
in, not in
s = "hello world"
print( "hello" in s )
print( "gozz" in s )
print( "power" not in s )
dictionary에서는 value를 찾진 못한다. 오직 key에 대한 in, not in을 수행할 수 있다.
myList = [10,20,30, 40, 50]
myD = { 10:"AA", 20:"BB",30:"CC" }
print( 10 in myD )
print( "AA" in myD ) # 키에 대해서 만 확인이 가능하다
식별 연산자
식별 연산자 | |
is | 객체가 같다 |
not is | 객체가 다르다 |
마찬가지로 간단한 예제를 통해 알아보자
a = 'A'
b = 'A'
print( a is b)
print( id(a))
print( id(b))
연산자 우선순위
우리가 알고 있는 일반적인 사칙연산에서도 곱하기와 나누기가 덧셈, 뺄셈보다 연산자 우선순위를 갖고 있는 것처럼
파이썬에서도 연산자 우선순위가 있다.
하기 표에서 우선순위 숫자가 낮을수록 높은 우선순위를 갖는다.
( 같은 우선순위의 연산자는 먼저 불린 순으로 차례대로 수행된다.)
우선순위 | 연산자 | 비고 |
1 | (value...), [value...], {key: value...}, {value...} |
튜플, 리스트, 딕셔너리, 세트 생성 |
2 | x[인덱스], x[인덱스:인덱스], x(인수...), x.속성 |
리스트(튜플) 첨자, 슬라이싱, 함수 호출, 속성 참조 |
3 | await x | await 표현식 |
4 | ** | 거듭제곱 |
5 | +x, -x, ~x | 단항 덧셈(양의 부호), 단항 뺄셈(음의 부호), 비트 NOT |
6 | *, @, /, //, % | 곱셈, 행렬 곱셈, 나눗셈, 버림 나눗셈, 나머지 |
7 | +, - | 덧셈, 뺄셈 |
8 | <<, >> | 비트 시프트 |
9 | & | 비트 AND |
10 | ^ | 비트 XOR |
11 | | | 비트 OR |
12 | in, not in, is, is not, <, <=, >, >=, !=, == |
포함 연산자, 객체 비교 연산자, 비교 연산자 |
13 | not x | 논리 NOT |
14 | and | 논리 AND |
15 | or | 논리 OR |
16 | if else | 조건부 표현식 |
17 | lambda | 람다 표현식 |
'개발 > Python' 카테고리의 다른 글
[파이썬] 파일 입출력 (0) | 2020.07.21 |
---|---|
[파이썬] 리스트 깊은복사와 얕은복사 (0) | 2020.07.20 |
[파이썬] 데이터타입 - 시퀀스 자료형 (0) | 2020.07.18 |
[파이썬] 데이터타입 - 문자열 자료형 (0) | 2020.07.15 |
[파이썬] 데이터타입 - 기본 자료형 (0) | 2020.07.15 |