Programming/Python

[python] 연산자, 연산자 우선순위, math 내장 함수

bisi 2020. 4. 17. 17:53

복합 연산자 

  • += 처럼 대입 연산자와 다른 연산자를 합쳐 놓은 연산자

 

assingment 설명
+= x += y x = x + y 와 동일
-= x -= y x = x - y 와 동일
*= x *= y x = x * y 와 동일
/= x /= y x = x / y 와 동일
//= x //= y x = x // y 와 동일
%= x %= y x = x % y 와 동일
**= x **= y x = x ** y 와 동일

 

 

수치 연산 관련 내장 함수

함수 설명
abs() 절대값 반환 abs(-10) #10
round() 반올림 계산

round(10)

round(10.342, 2)

divmod(x,y)

x를 y로 나눈 몫과 나머지 반환, 

(x//y, x%y) 쌍을 반환

divmod(17,4) #(4,1)

 

 

Math Module

  • python의 math 관련 함수들을 모아둔 모듈
  • math 모듈의 함수를 사용하기 위한 import 문(3가지 방법)

 

from math import *

a = sqrt(2.0)

# 이 경우 모듈 이름이 불필요

# sqrt() 함수를 함수명으로만 호출

import math

a = math.sqrt(2.0)

# 이 경우 math. 을 붙여야 함

# sqrt() 함수 앞에 해당 모듈명을 명시해야 함

import math as m

a = m.sqrt(2.0)

# 이 경우 m.을 붙여야 함

# m은 math의 별칭에 해당

 

  • math 모듈에는 많은 함수들이 존재
  • trunc() 함수 : 인수로 받은 값의 버림 계산 (math.trunc(1.5) == 1)
  • pow(x, y) 함수 : x제곱승y를 반환 (math.pow(81, 0.5) == 9.0)

 

관계 연산자

  • 두 값을 비교하는 연산자 : 결과는 True(참) 또는 False(거짓)
operator description example
== equal 5 == 7 # False
!= not equal 5 != 7 # True
> greater than 5 > 7 # False
< less than 5 < 7 # True
>= greater than or equal 5 >= 7 # False
<= less than or equal 5 <= 7 # True

 

 

논리 연산자

  • 논리 연산자의 종류 
    • 복합한 조건을 표현하려면 논리연산자를 사용
    • 몇 개의 조건식을 조합하여 명령문의 수행 여부를 결정할 때 사용

 

operator description example
and logical and. ~이고 그리고 모두 True 이어야 True
or logical or. ~이거나 또는 하나라도 True이면 True
not negates the turth value. 부정 참이면 거짓. 거짓이면 참

 

 

연산자 우선순위 

 

( ) anything in brackets is done first Highest
** exponentiation
-x, +x arithmetic operators
*, /, %, // arithmetic operators
+, - arithmetic operators
<, >, <=, >=, !=, == relational operators
= +=, -=, *=, etc relational operators
not logical operators
and logical operators
or logical operators Lowest

 

  • 같은 우선순위를 갖는 operator는 왼쪽 부터 계산
  • 단, **operator는 오른쪽 부터(예 : 2**2**3 = 2**8 = 256)
  • 애매하면 괄호 ()를 사용 (예 : (2**2)**3 = 4**3 = 64)

 

 

 

'Programming > Python' 카테고리의 다른 글

[Python] missingno ModuleNotFoundError  (0) 2020.04.21
[python] 산술 연산 관계 연산  (0) 2020.04.16
[python] 기초 개념  (0) 2020.04.15