본문 바로가기
Python/닭치고 Algorithm

8강 자료형-문자열(Python Algorithm 8 Data Type-String)

by OneHundredPlan 2020. 3. 20.
반응형

8강 자료형-문자열(Python Algorithm 8 Data Type-String)

 

부제 : 알고리즘을 배우면서 파이썬 기초부터 RPG까지 정복

내용 : 초중고 또는 코딩 기초 입문자를 위한 누구나 따라 배울 수 있는 Python Algorithm 프로그램 기초 강의

 

1. 파이썬 기초 입문자

2. 알고리즘 기초에서 수학 기초

3. 기초 코딩

4. Text RPG Project

 

[동영상강의]

https://youtu.be/I4m19UWY-kE

 

Python-Algorithm-8-자료형-문자열.pdf
0.31MB

 

8. 자료형-문자열(String)

 

문자열은 상당히 많은 설명이 필요하지만 지금 이 시간에는 문자열이 어떻다는 기초만 보고 우리가 진행할 부분에서 나오는 것만 다루도록 하겠습니다.

더욱 자세한 내용은 그 해당 부분이 나오면 추가 강의를 진행하도록 하겠습니다.

문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다.

예를 들어 가장 많이 사용하는 "Hello, World" 와 같이 다음과 같은 것들이 문자열입니다.

 

 

"Hello, World" "Python" "123"

 

문자열 사용 방법

 

4가지 방법이 있습니다.

  • 큰따옴표로 양쪽 둘러싸기

"Hello World"

 

  • 작은 따옴표로 양쪽 둘러싸기

'Hello World'

 

  • 큰따옴표 3개를 연속으로 써서 양쪽 둘러싸기

    여러 문자열을 주석 처리할 때 사용 하였습니다.

""" 
Hello World 
many lines
"""

 

  • 작은따옴표 3개를 연속으로 써서 양쪽 둘러싸기

    여러 문자열을 주석 처리할 때 사용 하였습니다.

 

''' 
Hello World 
many lines 
'''

 

문자열 더해서 연결하기(Concatenation)

 

 

>>> a = "Hello"
>>> b = "World"
>>> a+b  
'HelloWorld'
>>> 

 

문자열을 더할 때 두 문자열 사이에 공백을 하나 넣어보겠습니다. 문자열을 합치는 것은 그냥 숫자를 더하듯이 여러 문자열을 그냥 + 기호로 더하면 됩니다.

공백을 나타내고 싶으면 작은따옴표 사이에 공백을 넣어서 표현하면 됩니다.

>>> a = "Hello"
>>> b = "World"
>>> a + ' ' + b
'Hello World'

 

문자열 곱하기

파이썬의 재미 있는 부분이죠. 문자열에 곱하기가 있습니다.

 

>>> a = "Pyhon"
>>> a * 3
'PyhonPyhonPyhon'
>>>

 

`*`의 의미는 우리가 일반적으로 사용하는 숫자 곱하기의 의미와는 다릅니다.

위 소스 코드에서 `a * 3`라는 문장은 a를 세 번 반복하라는 뜻이다.

즉, `*`는 문자열의 반복을 뜻하는 의미로 사용되었습니다.

 

string_test.py

print("=" * 50)
print("Welcome to the RPG World") 
print("=" * 50)

 

==================================================
Welcome to the RPG World
==================================================

 

문자열 포맷 코드

문자열 포맷 코드로는 다음과 같은 것들이 있는데 이것은 다소 어려울 수도 있으므로 많은 부분을 설명하지 않도록 하겠습니다.

코드설명

%s 문자열 (String)
%c 문자 1개(character)
%d 정수 (Integer)
%f 부동소수 (floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 `%` 자체)

TRPG 에 맞춰서 문자열 포맷 코드 한개 만 소개를 해야겠습니다.

 

PlayerName = input("What is your character's name? ")
# input() 함수
# 사용자가 어떤 값을 입력하게 하고, 그 값을 변수에 저장할 수 있습니다.

print("type help to get a list of actions\n") 
# 이스케이프 코드
# \n 줄 바꿔서 다음 줄을 나타냅니다. 

print("%s enters a dark cave, searching for adventure." % PlayerName)
# % PlayerName 은 PlayerName 에 입력된 값을 
# %s 에 대입하라는 뜻입니다.

 

What is your character's name? One Hundred Plan
type help to get a list of actions

One Hundred Plan enters a dark cave, searching for adventure.
PS C:\Users\khd> 

 

이스케이프 코드(Escape code)

이스케이프 코드란 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 "문자 조합" 입니다.

몇 가지 이스케이프 코드를 정리하면 다음과 같습니다.

코드설명

`\n` 개행 (줄바꿈)
`\t` 수평 탭
`\\` 문자 "`\`"
`\'` 단일 인용부호(`'`)
`\"` 이중 인용부호(`"`)
`\r` 캐리지 리턴
`\f` 폼 피드
`\a` 벨 소리
`\b` 백 스페이스
`\000` 널문자

이중에서 활용빈도가 높은 것은 `\n`, `\t`, `\\`, `\'`, `\"` 입니다.

이중에서 오늘은 \n 만 위에 설명을 하였습니다. 나머지는 알고리즘을 하다가 나오면 그때마다 설명하도록 하겠습니다.

오늘은 오랜만에 알고리즘 파이썬 기초 문법을 다루었군요.

이렇게 조금씩 하다 보면 좋은 결과가 있을 겁니다.

 

댓글