brunch

You can make anything
by writing

C.S.Lewis

by 초초잉주의 Jul 19. 2023

모두를 위한 파이썬 (PY4E)공부 03

연산자, 데이터 타입 및 타입 변환

금일 공부할 내용은

연산자에 대한 내용인데요.

파이썬에는 표현식들이 있습니다. 그중 하나가 연산자 이기도 하구요


표현식 : 대입문 오른쪽에 쓸 수 있는 복잡한 계산식



수리 연산자 표현

컴퓨터 키보드에 있는 수학 기호들의 부족으로 우리는 제한적인 몇 가지의 수리 연산자들을 사용할 수 있습니다.

** Power (제곱) : 숫자를 제곱하는 연산
% Remainder (나머지 연산자) : 몫을 뺀 나머지


x = 1+2*3-4/5**6
이런식에서는 어떻게 연산이 되어야 할까?


연산자의 순서

일반적인 연산자들을 수행하게 되는 순서는 다음과 같습니다.

1순위 괄호가 제일 우선 순위
2순위 거듭제곱
3순위 곱하기 나누기
4순위 더하기 빼기

왼쪽에서 오른쪽 순서로 진행되게 됩니다. 




Type Matter (타입)이란?

파이썬에서는 여러가지 데이터 타입들이 있습니다. 파이썬은 영리하게도 우리가 연산하고자 하는 데이터의 타입에 따라 동일한 연산자를 사용하더라도 다른 결과를 가져 옵니다.

예를 들어, 동일한 + 연산자를 사용하더라도 정수, 부동 소수점 수 타입의 변수에서는 덧셈으로 작용하고 문자열 타입의 변수에서는 문자열을 이어주는 기능을 하게 됩니다.


ddd = 1 + 4
print(ddd)                                       # 5로 출력됩니다.

eee = 'hello ' + ' there'
print(eee)                                       # hello there로 출력됩니다.

eee = eee + 1                                  # 문자열 타입과 정수형 타입을 더하려 했기 때문에
                                                      # 에러가 발생합니다.  

위의 문제는 정수를 문자열로 변환할 수 없기 때문에 발생.

만약 우리가 타입이 다른 변수에 대해 연산을 하게 되면 파이썬은 오류 메시지를 띄워 자신에게 정확히 알려달라고 요청합니다. 파이썬은 타입에 민감하기 때문에 이 부분에 대해서 명심해야 합니다. 

값이나 변수의 타입을 알고 싶을 때 우리는 type() 을 이용해 해당 객체의 타입을 알 수 있습니다.



eee = 'hello' + ' world'
print(eee)                                      # hello world

 type(eee)                                       # class 'str' 문자열 클레스 타입
type(1)                                          # 정수 클레스 타입  



여러가지 숫자 타입

주요한 숫자 타입에는 두 가지가 있습니다. int (정수) 타입과 float (부동 소수점 수) 타입입니다. -1, 0, 1과 같은 정수들은 int 타입이며, -1.5, 0.0, 1.5 같은 부동 소수점 수들은 float 타입입니다. 



타입 변환

파이썬에는 타입을 변환할 수 있는 함수가 내재되어 있기에 간단반 방법으로 타입을 변환할 수 있습니다. 

변환시키고 싶은 타입 형식으로 감싸주면 타입이 바뀌게 됩니다. 


예를 들어, i 라는 변수를 정수 타입으로 선언했다고 합시다.

만약 i 변수를 부동 소수점 수 타입으로 바꾸어 저장하고 싶다면 f = float( i ) 로 적어주면 됩니다. 


i = 42
type( i )                  # int 타입

f = float( i )            # float 타입으로 변환
print( f )                # 42.0으로 출력
type( f )                 # float 타입 
sval = '123'
 type(sval)               # str 타입
print(sval + 1)        # 문자열과 int를 더한 것이므로 오류

ival = int(sval)
type(ival)               # int 타입
print(ival + 1)         # int 타입 간 연산이기 때문에 오류 발생하지 않는다. 124로 출력됨 


입력

print()를 통해 출력을 했다면 input()을 이용해 입력을 받을 수 있습니다.

nam = input('Who are you? ')          # Who are you? 라고 물어 볼 것이고
                                                       # 사용자는 입력값을 넣습니다.
print('Welcome', nam)                    # 해당 입력값을 nam이라는 변수에 할당한 다음
                                                       # Welcome이라는 문자열과 함께 출력합니다. 


주석

컴퓨터에게 명령을 내리는 파이썬 코드 이외에 사람이 알아보도록 적는 것을 주석이라고 합니다.

위에 보이는 것처럼 # 기호를 사용하게 되면 주석을 달 수 있습니다. 

컴퓨터는 주석을 무시하고 지나가기 때문에, 실행시키고 싶은 코드에 주석 표시 (#) 를 달지 않도록 주의하세요.











해당 강의는 코칭스터디 강의를 통해 공부한 내용을 기재하였습니다.

매거진의 이전글 모두를 위한 파이썬 (PY4E)공부 02
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari