PYTHON/etc contents

파이썬 연산자의 종류와 주의사항

  • -

1. 기본적인 연산자

  (1) 덧셈 : a + b
  (2) 뺄셈 : a - b
  (3) 곱셈 : a * b
  (4) 나눗셈 : a / b

 

2. 파이썬에서 사용되는 특이한 연산자

  (1) x의 y제곱 : a ** b
  (2) 나머지 반환 : a % b
  (3) 몫 반환 : a // b

 

 

3. 자료형을 고려할 것. int 및 float인가, 아니면 str인가.

다만 계산을 하기 위해서는 자료형이 int 또는 float이어야 한다. 간혹 string 형태의 자료형으로 계산을 하게 될 경우에는 다음과 같은 오류가 발생하게 된다.

TypeError: unsupported operand type(s) for /: 'str' and 'str'

그렇기 때문에 위와 같은 오류가 발생할 경우에는 자료형을 변경해주어야 할 필요가 있는데, 그 방법은 다음과 같다.

# 변수에 string 형태의 값 입력
a = "3"
b = "4"

# 변수의 자료 형태 확인하는 방법
type(a) #여기서는 str로 나옴
type(b) #여기서는 str로 나옴

# int 또는 float 형태로 자료형 변경
# 첫째, 인트로 변경하기
int_a = int(a)
int_b = int(b)

type(int_a)  # int로 나옴
type(int_b)  # int로 나옴

# 둘째, 플롯으로 변경하기
float_a = float(a)
float_b = float(b)

type(float_a)  # float으로 나옴
type(float_b)  # float으로 나옴

 

그럼에도 간혹 a라는 변수와 b라는 변수 모두 str 자료형임에도 불구하고 덧셈을 하였을 때 오류가 발생하지 않아 잘 계산된 것이라 생각하고 넘어갈 수 있다. 이는 말 그대로 오류는 없었는데, 결과물을 보면 제작자가 예상했던 것과 다른 결과물을 얻게 될 것이다. 
예를 들어 3이라는 값을 변수 a에 대입하고 4라는 값을 변수 b에 대입한 후에 a + b의 결과값을 얻고 싶다면, a 또는 b의 자료형은 int() 또는 float()이어야만 7이라는 결과값을 얻을 수 있다. 하지만 str의 경우에도 덧셈은 사용할 수 있다. 즉, a = "3"이고 b = "4"일 경우에 a + b를 하면 34가 나오게 된다. 왜냐하면 str 자료형은 하나의 문자열로 인식하기 때문이다. 따라서 어떤 가공을 하고자 하는 것인지에 따라 그 절차를 진행하기 전에 앞서 반드시 자료형을 확인하고 수시로 결과물을 확인하는 절차를 거쳐야 한다.

str_a = "3"
str_b = "4"
str_A + str_b = 34

int_a = 3
int_b = 4
int_a + int_b = 7

 

이해가 잘 가지 않는다면, 직접 IDLE을 통해 입력해보면 된다. 적자생존! 적는 자만이 생존한다.

str과 int의 사용 결과 화면

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.