[파이썬 기초 8] - Expressions, Operator[Arithmetic, Bitwise, Sequence]
기존 값은 연산자로 알려진 다양한 특수 기호와 키워드를 사용하여
더 큰 구문식(Syntactic exoressions)으로 결합할 수 있습니다.
연산자의 의미론은 피연산자의 유형에 따라 달라집니다. 예를 들어, a와 b가 숫자일 때 구문 a+b는 덧셈을 나타내는 반면, a와 b가 문자열일 경우 연산자는 결합을 나타냅니다. 복합 식의 연산을 평가하는 순서는 식의 전체 값에 영향을 미칠 수 있습니다. 이러한 이유로 Python은 연산자를 평가하기 위한 특정 우선순위를 정의하며, 프로그래머가 명시적 괄호를 사용하여 하위 표현들을 그룹화함으로써 이 순서를 재정의할 수 있습니다.
Arithmetic Operators
Python은 다음 산술 연산자를 지원합니다.
덧셈, 뺄셈 및 곱셈의 사용은 간단합니다.
두 피연산자가 모두 int 유형을 가지고 있으면 결과도 int이고, 한 피연산자 또는 두 피연산자가 float를 가지고 있으면 결과는 float가 됩니다.
파이썬은 나눗셈에 더 신경을 씁니다. 먼저 두 피연산자가 모두 int형식을 갖는 경우를 고려합니다. 예를 들어, 수량 27을 4로 나눈 경우를 예로 들 수 있습니다. 수학 표기법에서는 27 ÷ 4 = 63 4 = 6.75입니다. Python에서 / 연산자는 실수 나눗셈으로 계산의 부동 소수점 결과를 반환합니다. 따라서 27 / 4의 경우 부동액 값이 6.75가 됩니다.
Python은 연산자 //와 % 쌍을 지원하여 정수 분업의 나머지 부분인 int 값 3에 대해 27 // 4를 평가하여 정수 계산을 수행합니다. C, C++ 및 Java와 같은 언어는 // 연산자를 지원하지 않습니다. 대신, / 연산자는 두 피연산자가 정수 유형을 가질 때 잘린 몫을 반환하고, 하나 이상의 피연산자가 부동 소수점 유형을 가질 때 실수나눗셈 결과를 반환합니다.
Primer Python은 하나 또는 두 피연산자가 모두 음수인 경우까지 //와 %의 의미론을 조심스럽게 확장합니다. 표기법을 위해, 변수 n과 m이 각각 n의 몫의 배당금과 부차, 그리고 q = n // m과 r=n%m를 나타낸다고 가정해 보겠습니다.
Python은 q=m+r이 n이 되도록 보장합니다.
divisor m이 양수이면 Python은 0 ≤ r < m을 추가로 보장합니다. 그 결과 -27 // 4는 -7로 평가되고 -27% 4는 -7로 평가되며, -27% 4는 -27로 평가됩니다.
divisor가 음수이면 Python은 m < r ≤ 0을 보장합니다. 예를 들어 27 // -4는 -7이고 27% -4는 -1로, 27 = (-7) ∗ (-4)+(-1)+(-1)를 만족합니다. // 및 % 연산자에 대한 규칙은 부동소수 피연산자까지 확장되며, q = n // m이라는 표현식은 인수의 정수이며, r=n%m은 q m+r이 n과 일치하도록 "제거자"입니다. 예를 들어, 8.2 // 3.14는 2.0, 8.2% 3.14는 1.92로 평가되며 2.0 ³ 3.14+1.92 = 8.2입니다.
Bitwise Operators
Sequence Operators
Python의 각 기본 제공 시퀀스 유형(str, tuple 및 list)은 다음을 지원합니다.
Python은 시퀀스의 제로 인덱싱에 의존하므로 길이 n의 시퀀스에는 0부터 n-1까지 인덱싱된 요소가 있습니다.
Python은 또한 시퀀스 끝으로부터의 거리를 나타내는 음의 인덱스 사용을 지원합니다. 인덱스 -1은 마지막 원소, 인덱스 -2는 두 번째에서 마지막 원소 등을 나타냅니다.
Python은 슬라이싱을 사용합니다. 슬라이스는 시작 인덱스가 포함되어 있고 중지 인덱스가 제외되어 있는 반쯤 열린 간격으로 설명됩니다. 예를 들어 구문 데이터[3:8]는 3,4,5,6,7의 다섯 가지 인덱스를 포함하는 하위 집합을 나타냅니다.
선택적 "단계" 값(음수일 수 있음)은 슬라이스의 세 번째 매개 변수로 표시될 수 있습니다. 슬라이싱 표기법에서 시작 지수 또는 정지 지수가 누락된 경우 원래 시퀀스의 각 극한값을 지정하는 것으로 가정합니다.
list는 변경할 수 있으므로 s[j] = val 구문을 사용하여 지정된 인덱스의 요소를 바꿀 수 있습니다.
list는 list에서 지정된 요소를 제거하는 구문(del s[j])도 지원합니다.
슬라이스 표기법을 사용하여 하위 목록을 바꾸거나 삭제할 수도 있습니다.
s 단위의 표기법 val을 사용하여 시퀀스에 val과 동등한 요소가 있는지 확인할 수 있습니다.
문자열의 경우 이 구문을 사용하여 단일 문자나 큰 하위 문자열을 확인할 수 있습니다(예: amp). 모든 시퀀스는 사전 편찬 순서를 기준으로 비교 연산을 정의하며 첫 번째 차이가 발견될 때까지 요소별 비교를 수행합니다.
예를 들어, [5, 6, 9] < [5, 7]이(가) 있습니다.
온라인 코딩 🌐
✅ 코딩 , 데이터 마이닝, 크롤링, 자동화
✅ 파이썬 프로그래밍에 대해서 수업 듣기
✅카카오톡 오픈채팅방
'프로그래밍' 카테고리의 다른 글
[오류] vscode 주피터 노트북 테마 해제 (0) | 2020.11.13 |
---|---|
[파이썬 기초 9] - Operator[Sets, Dictionaries, Extended Assignment] (0) | 2020.09.30 |
[파이썬 기초 7] - Expressions, Operator[Logical, Equality, Comparision] (0) | 2020.09.30 |
[파이썬 기초 6] - Python Built-In Classes[set, dict] (0) | 2020.09.29 |
[파이썬 기초 5] - Python Built-In Classes[list, tuple, str] (0) | 2020.09.29 |