본문 바로가기

it(프로그래밍)

python) 연산자, 튜플


// - 정수 나눗셈(소수 부분을 제외한 나눗셈) -> 사람을 그룹으로 나눌때 쓸수있다.
13.0 // 4.0 = 3.0
9 / 7 = 1.28571428
9 // 7 = 1
9.0 // 7.0 = 1.0 -> 실수에도 적용된다

% - 나머지 오퍼레이터
7 % 3 = 1
7 % -3 = -2  > 7 = (-3) * (-3) - 2
-7 % 3 = 2


** - 거듭 제곱
a ** b = a의b승
2**16 = 65536


연산자 우선순위

3.0 *(2**15-12/4)+4**3
1.왼쪽에서 오른쪽으로 가기
2. 중요한 우선순위 찾기 
 > 1.거듭제곱(여러개일땐 왼쪽부터)
 > 2. 곱셈, 나눗셈
 > 3. 덧셈, 뺄셈
3.괄호를 사용해서 처음 계산할 연산자를 지정

수학과 조금 다르다
a/2*pi 를 파이썬은 a/2파이 로 인식하지 않는다.
a/2*파이로 인식한다.
a/(2*pi) 나 a/2/pi로 사용해야 원하는 값을 얻는다.
모든 연산자는 복소수에서도 사용가능

2 + 3 * 4 ** 5는 파이썬에서는
2 + (3* (4 ** 5)) 이와 같이 계산된다.

연산자는 문자열에도 사용가능

문자열의 대소비교는 사전식 순서로 한다.(lexicographical order)
"cheong" < "choe"
 true
(che cho 에서 e가 o보다 작다-빨리나온다 )

따옴표가 들어간 숫자와 그냥 숫자는 다르다.
"123" > 문자
123 > 숫자

>>> "3" == 3
false

not 은 반대
and 왼쪽오른쪽이 트루이면 투루
or 둘중 하나만 true면 true
(not true) == false
(not false) == true

(false and false) == false
(false and true) == false

(true and true) == true 
(true and false) == false

(false or false) == false
(false or true) == true
(true or false) == true
(true or true) == true

연산의 결과가 왼쪽 값으로 결정되면
python은 오른 쪽 값을 계산하지 않는다.


(false and false) == false
(false and true) == false
오른쪽 값은 상관없이 전체 결과 값은 false

왼쪽 논리값의 참과 거짓에 따라 그 함수의 실행 여부 결정
(true or false) == true
(true or true) == true
왼쪽이 true이기때문에 오른쪽을 아예 계산하지 않는다.
short circuit evaluation
 

튜플(tuple)
튜플의 값을 한 번에 풀고, 다시 묶기 가능
>>> a, b = ("aa", "bb")
>>> a, b = b, a
>>> print(b)
aa