if문을 이용해 두가지의 조건을 만족 할때 True를 출력한다.
처음에 생각한 식
if 1==1 & 2==2: print(True) else: print(False)
-> false 이 출력된다
True 가 나와야하지 않나 했지만 연산자 우선순위로 인해서 아래와 같은 식이 되어버린다!! 식이 산으로 가버림,,,
1 & 2
sol1)
수학처럼 () 를 이용한다!
True 출력!
sol2)
& 대신 and 를 이용한다!(연산자 우선순위!!)
True 출력!
우선순위 | 연산자 | 설명 |
---|---|---|
1 | (값...), [값...],{키: 값...}, {값...} | 튜플, 리스트, 딕셔너리, 세트 생성 |
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 | 람다 표현식 |