본문 바로가기
초보 코딩 배우기

파이썬 문자열

by into 2021. 2. 7.
반응형

오늘은 파이썬의 문자열에 대해 공부하려고 합니다. 약간씩 어려워지는 느낌이 들고 있습니다.

 

문자열 (Strings)은 문자 데이터 (문자, 단어, 문장)를 저장합니다.

 

문자열 quotes

문자열은 ‘ (single quotes), “ (double quotes), “””(triple doubles), ‘ ‘ ‘ (triple singles)를 사용합니다.

 

single quotes 사용하기

character = 'a', name = 'Matt'

double quotes 사용하기
with_quote = "I ain't gonna"

triple doubles 사용하기

longer = """This string has

 multiple lines

 in it"""

여기서 \n (backslash n)은 줄 바꿈을 보여줍니다.

 

triple singles 사용하기

latin = '''Lorum ipsum dolor'''

""" triple quote 여러 줄의 문장을 출력할  유용합니다.

Paragraph = """The starting point of all achievement is DESIRE.

Keep this constantly in mind.

Weak desire brings weak results,

just as a small fire makes a small amount of heat. — Napoleon Hill"""

 

 

문자열에서 backslash 사용하기

문자열 안에서 동일한 quote를 사용하고 싶으면 backslash를 사용하여 출력할 수 있습니다. 즉, backslash quote 기능을 무시하고 문자 그대로 출력합니다.

 

티스토리에서는 backslash가 한글 때문에 \로 표시되니 오늘 포스팅에 나오는 \는 backslash를 나타낸다는 것을 유의해야 합니다.

 

backslash를 출력하고 싶을 때도 backslash를 사용하여 원래의 기능을 무시하게 만듭니다.

backslash = '\\'

 

backslash를 사용하지 않았을 때 에러가 납니다. 

위에서 한글 os의 경우 backslash가 \로 표시됩니다. 명령 창에서도 backslash를 집어넣으면 \로 출력이 됩니다.

backslahs를 \ 기호에서 원래 기호로 바꾸고 싶을 때는 명령 창의 설정을 바꿔주면 됩니다.

명령 창 가장자리에서 마우스 오른쪽 클릭을 하고 default를 선택합니다.

Options에서 Default code page에서 OEM - United States를 설정하면 됩니다. 운영 체제에 따라 설정이 어떻게 바뀌는지는 모르겠습니다. 

다음은 backslash를 이용하여 문자열을 무시하는 경우를 정리한 표입니다.

ESCAPE 출력
\\ Backslash
\' Single quote
\" Double quote
\b ASCII Backspace
\n Newline
\t Tab
\u12af Unicode 16 bit
\U12af89bc Unicode 32 bit
\N{SNAKE} Unicode character
\o84 Octal character
\xFF Hex character

normal = '\tText \\'

print(normal)

 

\t는 tab을 입력한 것이므로 출력된 Text 앞에서 tab이 적용된 것을 볼 수 있습니다. 또한 \\는 backslash를 그대로 출력하는 것을 볼 수 있습니다.

 

파이썬에서 r은 regular expression의 의미로 r을 적용하면 일반적인 표현으로 출력합니다.

slash_t = r'\tText \\'

print(slash_t)

r을 사용하여 \t가 tab이 적용되지 않고 그대로 출력되는 것을 볼 수 있습니다. 또한 \\로 일반 문자로 출력되었습니다. 

 

 

문자열 형식

문자열 형식을 지정할 때 .format을 사용합니다.

name = 'Matt'

print('Hello {}'.format(name))

{} 사용하여 name이라는 변수의 내용 (여기서는 Matt)으로 변환시켜줍니다.

 

print('I:{} R:{} S:{}'.format(1, 2.5, 'foo'))

I에 정수 1을, R에 실수 2.5를, S에 문자열 foo를 .format에 정의된 값을 입력해 줍니다.

 

.format을 사용한 다른 예들

'Name: {}'.format('Paul')

'Name: {name}'.format(name='John')

'Name: {[name]}'.format({'name':'George'})

{} 안에 정수를 지정할 있습니다.

.format을 이용하여  ‘Paul’ 번째 포지션 (파이썬은 0부터 시작합니다.) 즉, position 0

‘George’ position 1,

‘John’ position 2를 지정할 있습니다.

'Last: {2} First: {0}'.format('Paul', 'George',  'John')

 

정수 형식

정수 형식 의미
b binary 
c character - convert to Unicode character 
d decimal (default) 
n decimal with locale-specific separators 
o octal 
x hex (lower-case) 
X  hex (upper-case) 

실수 형식

실수 형식 의미
e/ Exponent. Lower/upper-case e 
Fixed point 
g/ General. Fixed with exponent for large, and small numbers (default)
 with locale-specific separators
% Percentage (multiplies by 100) 

 

Ringo라는 문자를 12개의 * 중앙에 넣어서 출력하기

"Name: {:*^12}".format("Ringo")

정수를 바이너리 또는 헥스 값으로 변환 ( b (바이너리) x (헥스))

"Binary: {:b}".format(12)

"Hex: {:x}".format(12)

 

.format대신 %를 사용할 수 있습니다. 문자열은 %s, 정수는 %d, 헥스는 %x를 사용할 수 있습니다.

"Num: %d Hex: %x" % (12, 13)

"%s %s" % ('hello', 'world')

 

파이썬 3.6 버전부터 f-string이라는 새로운 명령어가 추가되었습니다.

name = 'matt'

f'My name is {name}'

 

함수를 같이 사용할 있습니다. 다음은 글자를 대문자로 만들어주는 함수를 사용한 예입니다.

f'My name is {name.capitalize()}'

 

오늘은 파이썬에서 문자열 사용 방법, 문자열 형식 지정하는 방법에 대해 정리하였습니다.

 

 

 

 

반응형

'초보 코딩 배우기' 카테고리의 다른 글

파이썬 조건문 (if, elif, else)  (8) 2021.03.07
파이썬 주석, 참/거짓 구분, None  (4) 2021.03.01
파이썬 문자열 내장 함수  (14) 2021.02.23
파이썬 dir(), help () 함수  (12) 2021.02.15
파이썬 숫자 연산  (10) 2021.01.31
파이썬 객체  (16) 2021.01.24
파이썬 변수  (20) 2021.01.17
파이썬 데이터 읽기, 쓰기  (12) 2021.01.13

댓글