파이썬 연산자 우선 순위에 대해 알아보겠습니다. 파이썬은 다양한 종류의 연산자를 제공하며, 이들은 표현식을 계산할 때 어떤 순서로 적용되는지를 결정하는 우선 순위를 갖습니다. 파이썬의 괄호, 인덱싱, await, 거듭제곱, 단항, 산술, 시프트, and, or, in, not in, 논리, 조건부, 람다 할당 연산자 우선 순위를 알아 보겠습니다.
괄호 `()`, `[]`, `{}`
괄호 안의 표현식이 가장 먼저 계산됩니다. 괄호는 튜플, 리스트, 딕셔너리, 세트를 생성하는 데에도 사용됩니다.
인덱싱 `x[i]`, 슬라이싱 `x[i:j]`, 함수 호출 `x(a, b)`, 속성 참조 `x.y`
이들 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 인덱싱은 리스트나 튜플의 특정 요소에 접근하는 데에, 슬라이싱은 리스트나 튜플의 일부분을 잘라내는 데에, 함수 호출은 함수를 실행하는 데에, 속성 참조는 객체의 속성에 접근하는 데에 사용됩니다.
await `await x`
await 표현식은 비동기 함수의 결과를 기다리는 데에 사용됩니다.
거듭제곱 `**`
거듭제곱 연산자는 오른쪽에서 왼쪽으로 적용됩니다. 예를 들어, `2 ** 3 ** 2`는 `2 ** (3 ** 2)`와 같습니다.
단항 연산자 `+x`, `-x`, `~x`
단항 연산자는 오른쪽 피연산자에만 적용되며, 왼쪽에서 오른쪽으로 적용됩니다. 단항 덧셈은 양의 부호를 나타내고, 단항 뺄셈은 음의 부호를 나타내고, 비트 NOT은 비트 반전을 수행합니다.
산술 연산자 `*`, `/`, `//`, `%`
산술 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 곱셈은 두 수를 곱하고, 나눗셈은 왼쪽 수를 오른쪽 수로 나누고, 버림 나눗셈은 나눗셈의 몫을 정수로 내림하고, 나머지는 나눗셈의 나머지를 구합니다.
산술 연산자 `+`, `-`
산술 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 덧셈은 두 수를 더하고, 뺄셈은 왼쪽 수에서 오른쪽 수를 뺍니다.
비트 시프트 연산자 `<<`, `>>`
비트 시프트 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 왼쪽 시프트는 왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 왼쪽으로 이동하고, 오른쪽 시프트는 오른쪽으로 이동합니다.
비트 AND 연산자 `&`
비트 AND 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 비트 AND는 두 피연산자의 각 비트를 비교하여 둘 다 1이면 1, 아니면 0을 반환합니다.
비트 XOR 연산자 `^`
비트 XOR 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 비트 XOR는 두 피연산자의 각 비트를 비교하여 하나만 1이면 1, 둘 다 같으면 0을 반환합니다.
비트 OR 연산자 `|`
비트 OR 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 비트 OR는 두 피연산자의 각 비트를 비교하여 하나라도 1이면 1, 둘 다 0이면 0을 반환합니다.
관계 연산자 `in`, `not in`, `is`, `is not`, `<`, `<=`, `>`, `>=`, `!=`, `==`
관계 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 관계 연산자는 두 피연산자의 값을 비교하거나 관계를 판단하여 참이면 True, 거짓이면 False를 반환합니다. in은 왼쪽 피연산자가 오른쪽 피연산자에 속하는지, not in은 속하지 않는지, is는 두 피연산자가 동일한 객체인지, is not은 동일하지 않은 객체인지, <은 왼쪽 피연산자가 오른쪽 피연산자보다 작은지, <=은 작거나 같은지, >은 큰지, >=은 크거나 같은지, !=은 다른지, ==은 같은지를 검사합니다.
논리 NOT 연산자 `not x`
논리 NOT 연산자는 오른쪽 피연산자에만 적용되며, 오른쪽 피연산자가 True이면 False, False이면 True를 반환합니다.
논리 AND 연산자 `and`
논리 AND 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 논리 AND는 두 피연산자가 모두 True이면 True, 아니면 False를 반환합니다.
논리 OR 연산자 `or`
논리 OR 연산자는 왼쪽에서 오른쪽으로 적용됩니다. 논리 OR는 두 피연산자 중 하나라도 True이면 True, 모두 False이면 False를 반환합니다.
조건부 표현식 `x if y else z`
조건부 표현식은 y가 True이면 x를, False이면 z를 반환합니다.
람다 표현식 `lambda x: y`
람다 표현식은 이름 없는 함수를 생성하는 데에 사용됩니다. x는 매개변수, y는 반환값입니다.
할당 표현식 `x := y`
할당 표현식은 y의 값을 x에 할당하고, x의 값을 반환합니다.
파이썬의 연산자 우선 순위를 알고 있으면 복잡한 표현식을 쉽게 이해하고 작성할 수 있습니다. 하지만 너무 많은 연산자를 한 줄에 사용하면 가독성이 떨어질 수 있으므로, 괄호나 여러 줄로 나누어서 명확하게 표현하는 것이 좋습니다.
'파이썬' 카테고리의 다른 글
파이썬 for loop 문 index와 사용 방법 (0) | 2023.06.24 |
---|---|
온라인 파이썬 에디터 추천 (0) | 2023.06.24 |
VS Code에서 파이썬 개발 환경 세팅하기 (0) | 2023.06.24 |
파이썬 주석 처리 방법(한 줄, 여러 줄) (0) | 2023.06.24 |
파이썬 변수, 지역 변수, 전역 변수 사용법과 예제 (0) | 2023.01.28 |
최근댓글