본문으로 바로가기

파일의 IT 블로그

  1. Home
  2. 프로그래밍 강좌/Python [리뉴얼중]
  3. [파이썬 강좌] #3 숫자와 문자열 출력하기

[파이썬 강좌] #3 숫자와 문자열 출력하기

· 댓글개 · KRFile

일단, C언어나 기타 프로그래밍 언어를 해보신 분들은 알겠지만
프로그래밍의 모든 시작은 무언가를 출력해보는겁니다.
파이썬에선 print() 라는 함수를 이용하여 무언가를 출력합니다.

 

* 함수라는 말이 혼란스러우실 수 있는데 무언가 영어로 내용이 적혀있고 뒤에 중괄호가 있으면 그건 함수라고 생각하시면 됩니다. ex) print(), sum()... 나중에 함수에 대해 자세히 배웁니다. 

수학에서 함수와 프로그래밍에서 함수는 조금 다르니 주의 바랍니다.

 

print('안녕 파이썬')

이런식으로 입력해주면.. 맨 밑에 반갑게 안녕 파이썬이 출력됩니다.
참고로 파이썬에서 따옴표를 양쪽에 붙여주는건 그것을 문자열(문자들의 나열)로 보겠다는 의미입니다.

 

파이썬에선 문자열 처리시 작은따옴표를 사용하건 큰따옴표를 사용하나 큰 지장이 없습니다.

 

만약에 숫자 0을 출력하고 싶으시면 따옴표 없이 그냥 print(0) 이라고 해주셔야 합니다.

문자 0과 숫자 0은 엄연히 다릅니다.
숫자의 경우 우리가 흔히 말하는 사칙연산이 가능하므로

숫자 0 과 숫자 2를 더해서 print(0+2) 를 출력하면 2가 출력되겠지만,
문자 0과 숫자 2를 더하는건 print("0" + 2) 와 같은 표현인데 이런 계산은 불가능 합니다.

 

참고로 디버깅(프로그램 시작)은 F5 키로 합니다.

 

print(100+100)
>>> 200

수를 더해서 출력하면 200이 잘 출력되는걸 볼 수 있습니다.

 

print(2 ** 10)
>>> 1024

$2^{10}$을 출력하고 싶다면 ** 기호를 사용하시면 됩니다.

** 는 제곱 연산을 수행하는 기호입니다.

 

print('2 ** 10')
>>> 2 ** 10

 

만약에 이런건 어떨까요?

연산을 하지않고 그대로 출력하는군요. 전체가 문자열 처리 되었으니
숫자가 아닌 그저 하나의 문자열로 취급 된겁니다.

그리고 위의 **과 비슷한 방법으로 문자열을 여러번 나타낼 수도있습니다.

 

print('파일' * 10)
>>> 파일파일파일파일파일파일파일파일파일파일

파이썬에선 문자열을 반복 출력할때 곱하기 연산을 지원하는데 이를 이용하면

반복되는 문자들을 쉽게 나타낼 수 있습니다.

 

그런데 위에서는 문자열과 숫자를 따로따로 출력했습니다.
만약에 '나는 20살 입니다.' 라는 문장에서 숫자와 문자열을 같이 이용하여
표현할땐 어떻게 해아할까요? *그냥 문자열로 통째로 출력해도 되는거지만 가정해봅시다.

 

print('나는' , 20, '살 입니다.')
>>> 나는 20 살 입니다.

숫자와 문자열을 동시 이용시에는 콤마(,)를 사용하는걸 알수있습니다.
그런데 우리가 원하는건 20 살이 아니라 20살 이잖아요? 콤마를 사용하면
숫자와 문자열 사이에 파이썬에서 자동으로 공백을 쳐줍니다. 어떨땐 편한데 이런 경우엔 불편하죠 


print("문자열" + "결합")
>>> 문자열결합

print("문자열" + "결합" + "2")
>>> 문자열결합2

파이썬의 경우 문자열을 서로 더하면 문자열을 결합(concate) 시켜줍니다.

물론 아까도 간략히 설명드렸듯이 문자 0과 숫자 0을 더하는 그런 연산은 불가능합니다.

 

그러면 위에서 "나는", 20, "살 입니다" 에서

20만 숫자이므로 20을 문자로 바꾸면 모두 문자이므로

+ 로 더해서 문자열을 결합시켜줘서 원하는 출력 결과를 얻을 수 있을 거 같습니다.

 

print('나는 ' + str(20) + '살 입니다.')
>>> 나는 20살 입니다.

위의 소스코드를 다음과 같이 변경합니다.


str(20)은 무슨의미일까요? 이는 str() 함수를 이용한것인데, str(데이터) 의 형식으로 이용하고
안의 데이터를 문자열로 바꿉니다.

 

str(20)은 숫자 20을 문자열 20으로 바꿔버리겠다는 뜻입니다.

저런식으로 데이터형을 변환해주면 세개는 모두 문자열이 되서 문자열의 + 결합 연산을 사용할 수 있고 모든 문자열을 합쳐서 저렇게 원하는대로 출력할 수 있습니다.

 

str1 = '슬라이싱'

print(str1[0:2])
print(str1[2:4])
print(str1[1:])
print(str1[:1])

>>>
슬라
이싱
라이싱
슬

 

문자열 부분 출력을 원할때는 변수[범위1:범위2] 로 사용합니다.
범위는 0부터 시작합니다. str1에서 첫번째 글자 '슬' 의 경우 컴퓨터 관점에서 보면 0번째 입니다.

컴퓨터는 대부분 0부터 새는 일종의 관습이 있으니 이에 대해 각별한 주의가 필요합니다!!


그리고 범위를 하나만 입력하고 : 를 쓰는 위치에 따라
특정부분에서 앞으로 짜르거나 뒤로 짜를수 있습니다.

 

만약에 str1[0] 처럼 범위가 아닌 숫자 한개만 들어간 경우엔 str1의 0번째 글자, 즉 '슬' 이라는 문자열을 의미하게 됩니다. print(str1[0]) 을 실행해보면 '슬' 이 출력되는걸 알 수 있습니다.

 

이 짜르는 자세한 방법에 대해선 인터넷에 파이썬 슬라이싱(slice) 에 대해 검색해보시면 되겠습니다~

SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.