바로 시작해볼까욤..
1. 산술 연산
: 산술 연산자는 숫자 자료형에서
덧셈(+), 뺄셈(-), 곱셈(*), 실수 나눗셈(/), 정수 나눗셈(//), 나머지(%), 거듭제곱(**) 등이 있습니다.
산술 연산자의 우선순위(priority)는 단항 연산자(부호 기호 +,-) , 거듭제곱, 곱셈과 나눗셈, 덧셈과 뺄셈 순서 입니다.
거듭제곱의 결합규칙은 오른쪽에서 왼쪽으로 적용하고, 나머지 연산자의 결합규칙은 왼쪽에서 오른쪽 순서로 계산합니다.
우선순위를 변경할 때는 괄호()를 사용합니다.
## 예제 1
>>> a=1+2
>>> b=1-2
>>> c=1*2
>>> d=1/2
>>> e=1//2
>>> f=1%2
>>> print('a:{0}, b:{1}, c:{2}, d:{3}, e:{4}. f:{5}'.format(a,b,c,d,e,f))
a:3, b:-1, c:2, d:0.5, e:0. f:1
>>> print=2**3
>>> print
8
>>> (1+2j) + (1+3j)
(2+5j)
>>> (1+2j)*(1+5j)
(-9+7j)
>>> (1+3j)/2
(0.5+1.5j)
>>> (1+3j)**2
(-8+6j)
2. 비교 연산
연산자 | 의미 |
< | 작다 |
<= | 작거나 같다 |
> | 크다 |
>= | 크거나 같다 |
== | 같다 |
!= | 같지 않다 |
is | 객체가 같다 |
is not | 객체가 같지 않다 |
## 예제 2
>>> 1<2
True
>>> 2<=2
True
>>> 1>2
False
>>> 2>=2
True
>>> 1==2
False
>>> 1<2 or 2>3
True
>>> 1<2 and 2<3
True
>>> 1<2 and 2>3
False
>>> 1<2<3
True
>>> not 1 < 2
False
>>> (1+2j) == (1+3j)
False
>>> (1+2j) != (1+3j)
True
>>> a=1
>>> b=1
>>> a == b
True
>>> a is b # id(a)==id(b)
True
3. 비트 연산
: 비트 연산자는 정수형(int)에서만 적용되며,
부정(~), 왼쪽 시프트(<<) 오른쪽 시프트(>>), 비트 논리곱(&), 비트 논리합( | ), 비트 배타적논리합(^)등이 있다.
x | y | ~x | x&y | x|y | x^y |
0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 1 | 0 |
## 예제 3
>>> ~2
-3
>>> bin(~2)
'-0b11'
>>> int(bin(~2),2)
-3
>>> bin(0b1011 & 0b1001)
'0b1001'
>>> int(bin(0b1011 & 0b1001), 2)
9
>>> bin(0b1011<<1)
'0b10110'
>>> bin(0b1011>>1)
'0b101'
4. 확장 지정문
: 확장 지정문은 +=, -=, *=, /=, //=, %=, **=, >>=, <<=, &=, %=, |=등의 연산자를 사용합니다.
예를 들어 x+=1은 x=x+1과 유사하게 동작합니다.
확장 지정문은 왼쪽의 변수 객체 값을 먼저 읽고,
오른쪽의 수식을 계산하여 확장 연산을수행한 다음에 왼쪽 변수 객체의 값을 변경합니다.
## 예제 4
>>>x=1
>>>x+=10
>>>x
11
>>>x-=10
>>>x
1
>>>x *=10
>>>x
10
>>>x %= 2
>>>x
0
5. 숫자 관련 내장함수
함수 | 설명 |
abs(x) | 숫자 x의 절대값을 반환한다. |
bin(x) | 정수 x를 2진 byte문자열로 변환한다. |
hex(x) | 정수 x를 16진수 문자열로 변경하여 반환한다. |
oct(x) | 정수 x를 8진수로 문자열로 변경하여 반환한다. |
divmod(a,b) | a를 b로 나눈 몫과 나머지를 tuple로 반환한다. a=q*b+a%b 정수 : (a//b, a%b) 실수 : (q, a%b), q = math.floor(a/b) |
pow(x,y[,z]) | z가 없으면 x의 y제곱 결과를 반환하고, z가 있으면 x의 y제곱 결과를 z로 나눈 나머지 (pow(x,y) %z) 의 결과를 반환한다. |
round(number[,ndigits]) | 실수인 number를 소숫점 이하 ndigits에서 반올림한다. 같은 거리에 2개의 정수가 있으면 짝수를 선택한다. |
## 예제 5
>>>abs(-1)
1
>>>abs(-1.0)
1.0
>>>abs(-1+2j)
2.23606797749979
>>>abs(-1-1j)
1.142135623730951
>>>abs(-1+1j)
1.142135623730951
>>>bin(11)
'0b1011'
>>>oct(11)
'0o13'
>>>hex(11)
'0xb'
>>>divmod(7,3)
(2,1)
>>>pow(2,3)
8
>>>pow(2,3,5)
3
>>>round(1.5)
2
>>>round(2.5)
2
>>>round(-1.5)
-2
>>>round(3.141592)
3
>>>round(3.141592,4)
3.1416
후앙 어려웡
다음번에는 문자열에 대해 알아보겠습니다..ㅠㅠ!
'## 오래된 게시글 (미관리) ## > Python (Linux)' 카테고리의 다른 글
6. Python - 머신러닝에 앞서서 (0) | 2018.11.23 |
---|---|
5. Python - Anaconda 설치 (0) | 2018.11.23 |
3. Python - 불리안 연산, 숫자 자료형 (0) | 2018.11.23 |
2. Python - print() (0) | 2018.11.23 |
1. Python - 클래스, 객체, 값, 지정문 (0) | 2018.11.23 |