본문 바로가기

파이썬 공부

4.파이썬 숫자와 문자열(기초)

728x90
반응형
SMALL

출처: http://www.the-pr.co.kr/news/photo/201504/12893_42563_212.jpg

오늘은 파이썬에서 숫자와 문자열을 어떻게 다루는지 알아볼 거임.


간단한 코드를 작성해보자. 이름은 sutjamoonja.py

my_name = 'tom' # (문자열 = 사람을 위한 문자를 프로그래머들이 부르는 방법)
my_age = 20 # 숫자는 프로그래머와 컴퓨터 둘다 이해할 수 있으므로 '를 붙이지 않아도 됌

print(my_name, '은', '올해', my_age, '살')

my_name = 'tom' # (문자열 = 사람을 위한 문자를 프로그래머들이 부르는 방법)
my_age = '20' # 숫자-> 문자열(숫자가 들은 문자열)
#파이썬은 텍스트보다 숫자를 더 유용하게 다룸

print(my_name, '은', '올해', my_age, '살')

출력 결과를 감상해보자.

출력 결과는 같음.

숫자에 '를 한 것과 안 한 것의 차이는 숫자를 문자열로 인식하느냐 숫자로 인식하느냐의 차이이므로 위, 아래줄 출력 결과에는 차이가 없다.

그러나 파이썬에서는 숫자를 문자보다 유용하게 다루기 때문에 숫자를 문자열로 보통 쓰지 않는다.


코드를 조금 수정하자. 이름은 advancesutja.py

my_name = 'tom' # (문자열 = 사람을 위한 문자를 프로그래머들이 부르는 방법)
my_age = 20 # 숫자
#파이썬은 텍스트보다 숫자를 더 유용하게 다룸

print(my_name, '은', '올해', my_age, '살')

my_nextyear_age = 21 #내년의 나이 숫자로 표현

print(my_name, '은', '내년에', my_nextyear_age, '살')

my_nextyear_age = my_age + 1

print(my_name, '은', '내년에', my_nextyear_age, '살')

코드를 실행시켜 출력하자.

출력 결과

7번째 줄은 뭐 예상대로 my_nextyear_age에 지정된 값 21대로 밑에 프린트되었다.

하지만 11번째 줄이 7번째 줄과 다른 점이 보일 것이다.

출력 결과는 21살 21살로 똑같지만, 차이가 있다.

11번째 줄은 my_age 문자열에 +1을 시켜서 21이라는 값이 나오게 만들었다.

7번째 줄은 그냥 21이라고 값을 지정했고.

이는 숫자를 문자열로 표기하지 않았기에 숫자를 활용할 수 있었다.

만약 숫자에 '를 넣어 문자열로 만들고 저 코드를 출력시키면?


errorsutja.py로 이름 정하고 코드 짜자.

my_name = 'tom' # (문자열 = 사람을 위한 문자를 프로그래머들이 부르는 방법)
my_age = '20' # 문자열 = '로 둘러쌓인 텍스트인 숫자
#파이썬은 텍스트보다 숫자를 더 유용하게 다룸

print(my_name, '은', '올해', my_age, '살')

my_nextyear_age = '21' #문자열

print(my_name, '은', '내년에', my_nextyear_age, '살')

my_nextyear_age = my_age + 1

print(my_name, '은', '내년에', my_nextyear_age, '살')

결과는 이름에서 알 수 있듯 에러 난다.

트레이스 백!

숫자를 '로 둘러싸서 텍스트로 만들어버리면 5번째 줄 9번째 줄 프린트 문은 문제없이 출력하고 위의 코드와 출력 결과가 같지만

다른 점은 13번째 줄 프린트에서 나온다.

숫자를 텍스트로 바꿔버렸기 때문에 my_age + 1의 덧셈 계산을 수행할 수 없어서 에러가 난 것이다.

텍스트는 파이썬이 더하고 뺄 수 있는 숫자로 인식하지 않는다.


파이썬에서는 숫자로 어떤 것을 할 수 있을까?

기본적으로, 사칙연산이나, 제곱 연산을 할 수 있다.

그럼 파이썬에서 수학 기호가 어떻게 쓰이는지 확인해보자.


코드를 짜자. 제목은 mathpython.py

my_name = 'tom' # (문자열 = 사람을 위한 문자를 프로그래머들이 부르는 방법)
my_age = 2019 - 1999 #(빼기)

print(my_name, '은', '올해', my_age, '살')

my_nextyear_age = 21 #문자열

print(my_name, '은', '내년에', my_nextyear_age, '살')

my_nextyear_age = my_age + 1 #(더하기)

print(my_name, '은', '내년에', my_nextyear_age, '살')

multiply = 5 * 4 #곱하기 =20
divide = 60 / 6 #나누기 = 10
power = 2 ** 2 #거듭제곱 = 2의 2승 = 4
reminder = 15 % 4 #나머지 = 3

print(multiply, divide, power, reminder)
#각각의 수학기호는 파이썬에서 쓰는 약속이다.
#실제 수학 기호와 관계 없이 파이썬에서 쓰는 기호 (약속)이다.

출력 결과는?

결과

각각의 수학 기호

+ (더하기)

- (빼기)

* (곱하기)

/ (나누기)

** (거듭제곱)

% (나머지 구하기)

이것들은 파이썬에서 수학 기호로써 쓰자고 약속한 것이므로 실제 수학 기호와는 관계없다.

참고로

multiply = 곱하기

divide = 나누기

power = 거듭제곱

reminder = 나머지 구하기


추가로 알아두면 좋은 것은 텍스트도 사실 더할 수 있다! 이름은 textplus.py

text = '2000' + '3000' #텍스트
number = 2000 + 3000 #숫자

print(text)
print(number)

출력 결과.

텍스트+텍스트

결과는 텍스트 + 텍스트가 되어 서로 이어 붙여졌다.

문자열의 텍스트 숫자를 더할 때는 숫자로써 두 값이 더해지는 대신에 문자열 2개가 이어져 나온다.

문자열 두 개를 이어 붙여 새 문자열을 만든 것이다.

그럼 생기는 의문이

이어 붙인 문자열을 다시 뺄 수 있을까?

예를 들어

text_minus = text - 3000 #??

라고 적고 코드를 실행하면 트레이스 백된다. (오류) 이것은 올바른 파이썬 코드가 아니기 때문이다.


정리하면 파이썬에서

숫자는

수학 연산이 가능하다.

기호 (+, -, *, /, **, %) 활용하여 사칙연산 및 거듭제곱 등의 계산을 할 수 있다.

문자열은

화면에 그대로 출력이 가능하다. (합칠 수도 있다)

따옴표로 둘러싸서 표시한다.


print 쓸 때 ,를 쓰는 이유를 추가하자면. 문자열과 변수를 출력할 때 구분하려고 이다.

 

여기까지가 기초적인 숫자와 문자열의 이해다.

다음 글은 REPL에 대해서 이다.

반응형
LIST