연산자
산술연산자
+, -, *, /, //, %, **
부동소수점
0.1 + 0.2 = 0.30000000000000004
해결 1. 유효숫자 지정 (반올림)
- round(2.2) = 2
- round(-3.8) = -4
해결 2. 고정소수점 연산: 십진법 연산 모듈, str 객체 생성, int 연산 가능
from decimal import Decimal
- float(Decimal('0.1') + Decimal('0.2')) = 0.3
해결 3. fraction (분자, 분모) int/float 연산 가능
import fractions
- fractions.Fraction(5, 30) = Fraction(1, 6)
- fractions.Fraction(0.75) = Fraction(3, 4)
- a = fractions.Fraction(9, 28)
- a.numerator = 9
- a.denominator = 28
해결 4. math 모듈
import math
- math.ceil(4.3) = 5
비교연산자
==, !=, >, <, <=, >=
할당연산자
=, +=, -=, *=, /=, //=, %=, **=
비트연산자
2진수 연산 방식
bin() : 이진수 문자열로 변환
bin(5) = '0b101'
0b10110 = 22
int('11101', 2) = 29
& : bit 단위로 and 연산
| : bit 단위로 or 연산
^ : bit 단위로 xor 연산
~ : bit 단위로 not 연산 (1의 보수)
<</>>
bit 단위로 왼/오른쪽 비트단위 밀기 연산
양수는 0, 음수는 1 채워짐
왼쪽/오른쪽 shift 마다 2^n 곱한/나눈 효과
bin(0b10101 & 0b11100) = 0b10100
0b10101 & 0b11100 = 28 & 21 = 20
bin(0b10101 | 0b11100) = 0b11101
0b10101 | 0b11100 = 28 | 21 = 29
bin(0b10101 ^ 0b11100) = 0b1001
0b10101 ^ 0b11100 = 28 ^ 21 = 9
bin(~0b10101) = -0b10110
~0b10101 = -22
~28 = -29
논리연산자
- and : 둘 다 참일 때 참
- or : 둘 중 하나 참일 때 참
- not : 참이면 거짓, 거짓이면 참
멤버연산자
- in : list 내에 포함되어 있으면 참
- not in : list 내에 포함되어 있지 않으면 참
식별연산자
- is : 개체메모리 위치나 값이 같으면 참
- is not : 개체메모리 위치나 값지 않으면 참
'PYTHON > Basic' 카테고리의 다른 글
function (0) | 2019.12.28 |
---|---|
loops (0) | 2019.12.28 |
conditions (0) | 2019.12.28 |
datatype (0) | 2019.12.28 |
Python Basic Syntax (0) | 2019.12.28 |