1. Precedence of Arithmetic Operations
Higher
**
>-
(negation) >*
=/
=//
=%
>+
=-
(subtraction) Lower
- 우선순위를 기억하는 것도 중요하지만, 헷갈리면 그냥 parentheses로 묶어주면 된다. (가독성을 위해서도 이를 추천)
- 동시에
3+2
와 같은 간단한 expression은 굳이 parentheses로 묶지 말 것. (이 경우, 복잡한 expression등과 헷갈리게 됨)

2. Unary Operator (단항 연산자)
2.0. Negation
음수를 표현. (subtraction이 아닌)
>>> -2 -2 >>> --2 2 >>> ---2 -2 >>> ---2. -2.0
3. Binary Operator (이항 연산자)
3.0. exponentiation : **
2의 3 제곱은 다음 2**3 으로 표시함.
3.1. 사칙연산 : +, -, *, /
우리가 아는 사칙연산 그대로임.
- addition
- subtraction
- multiplication
- division
단, multiplication이 *
(asterisk)라는 것과 division /
이 항상 float
type으로 결괏값을 내놓는다는 점만 기억할 것.
>>> 2+3 5 >>> 2-3 -1 >>> 2*3 6 >>> 2/3 0.6666666666666666 >>> 4/2 2.0 >>> 2.+3 # float 5.0
3.2. Integer Division (or floor division) : //
python에서 //
는 나누기 결과를 항상 int
type이 될 수 있는 값으로 반환해준다.
- 이렇게 설명한 이유는 result가
1.0
과 같이float
type이 될 수도 있기 때문임) //
의 결과와 나누어진 수를 곱하면 항상//
의 왼쪽의 수보다 작게 나옴.- 정확한 값을 구한 후 내림(floor)를 처리하면 됨.
>>> 12//10 1 >>> 19//10 1 >>> -12//10 # floor(-1.2) = -2 ,작은 정수값이 답임. -2 >>> -9//10 -1 >>> -19//10 # floor(-1.9) 이며 이는 -2가 됨. -2 >>> 12.//10 # 하나라도 float면 결과도 float: floor(1.2)= 1.0 1.0 >>> 12//10. 1.0
3.3. modulo (or remainder) : %
나머지 연산이라고도 불림.
주의할 것은
0이 아닌 결괏값의 sign이 항상 나누어주는 수(divisor)의 sign이라는 점임
수학적 modulo와 조금 차이가 있으며 다음으로 구해짐.
a%b=a−(a//b)∗b
- 수학적 modulo에선 b가 항상 양수임.
>>> 20%3 2 >>> 20%2 0 >>> 20%-2 0 >>> -20%2 0 >>> 20%-3 # 20-(20//-3)*-3 = 20-(-7)*-3 = -1 -1 >>> -20%3 # -20-(-20//3)*3 = -20-(-7)*3 = 1 1 >>> -20.%2 # float 0.0 >>> 20%3. 2.0
4. Augmented Assignment
Assignment와 arithmetic operation이 결합한 것.
Augmented Assignment Symbol |
예제 | 결과 |
+= | x = 3 x += 5 |
x는 8이 됨. (정확히는 x는 8을 참조하게 됨) |
-= | x = 3 x -= 5 |
x는 -2가 됨. (정확히는 x는 -2를 참조하게 됨) |
*= | x = 3 x *= 5 |
x는 15가 됨. (정확히는 x는 15를 참조하게 됨) |
/= | x = 7 x /= 2 |
x는 3.5가 됨. (정확히는 x는 3.5를 참조하게 됨) |
//= | x = 7 x //= 2 |
x는 3이 됨 (정확히는 x는 3을 참조하게 됨) |
%= | x = 7 x %= 2 |
x는 1이 됨 (정확히는 x는 1을 참조하게 됨) |
**= | x = 7 x **= 2 |
x는 49가 됨 (정확히는 x는 49를 참조하게 됨) |
할당에 대한 참고 자료 : 2023.06.20 - [Programming] - [Python] Assignment (Basic)
[Python] Assignment (Basic)
1. General form Assignment statement의 일반적인 형태는 다음과 같음. varible = expression 2. 수행 순서 = 기호의 오른쪽의 expression을 evaluation함 (값으로 reduction) 1번의 값에 해당하는 object가 저장된 memory address
dsaint31.tistory.com
읽어보면 좋은 자료
operation에 대한 설명 : https://dsaint31.me/mkdocs_site/CE/ch01/ch01_00_data_representation/#operations
BME228
Representation of data within a computer system. Data vs. Information Data 어떤 처리가 이루어지지 않은 상태의 character(문자)나 number(수치), image(그림) 등으로 단순히 측정하고 수집된 것 을 의미함. 어떤 의미나
dsaint31.me
'Programming' 카테고리의 다른 글
[Python] Strong Typing이란? with Object (1) | 2023.06.13 |
---|---|
[Python] Variable (and Object) (0) | 2023.06.13 |
[Python] (Data) Type: Summary (0) | 2023.06.12 |
[Python] Expression vs. Statement (0) | 2023.06.12 |
[WSL] Install WSL (Windows Subsystem for Linux) (0) | 2023.06.12 |