[Python]문자형 자료열

Date:     Updated:

카테고리:

1. 문자열 자료형

1. 문자열이란?

문자열(string)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다. 예를 들어 다음과 같은 것들이 문자열이다.

"Life is too short, You need Python"
"a"
"123"

2. 문자열을 만드는 방법

1) 큰따옴표(“)로 둘러싸기, 작은따옴표(‘)로 둘러싸기

"Hello World" # 큰따옴표
'Hello World' # 작은따옴표

2) 큰따옴표 또는 작은따옴표 연속 3개

"""Life is too short, You need python""" # 큰따옴표
'''Life is too short, You need python''' # 작은따옴표

3. 문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때

1) 문자열에 작은따옴표(‘) 포함시키키

"Python's favorite food is perl"

2) 문자열에 큰따옴표(‘) 포함시키키

say = '"Python is very easy." he says.'

3) 백슬래시()를 사용해서 작은따옴표와 큰따옴표를 문자열에 포함시키기

food = 'Python\'s favorite food is perl'
say = "\"Python is very easy.\" he says."

4. 여러 줄인 문자열을 변수에 대입하고 싶을 때

1) 이스케이프 코드 \n 삽입하기

multiline = "Life is too short\nYou need python"

#출력
Life is too short
You need python

2) 연속된 작은따옴표 또는 큰따옴표 삽입

multiline = '''  ## 여기에 큰따옴표 3개써도 동일
Life is short
you need Python
'''

#출력
Life is short
you need Python

5. 이스케이프 코드란?

  • \n : 문자열 안에서 줄을 바꿀 때 사용
  • \t : 문자열 사이에 탭 간결을 줄 때 사용
  • \ : 문자 \ 을 그대로 출력
  • ' : 작은따옴표 그대로 출력
  • " : 큰따옴표를 그대로 출력

6. 문자열 연산하기

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

head = "Python"
tail = " is fun!"
print(head + tail)

#출력
Python is fun!

2) 문자열 곱하기 응용

print("=" * 50)
print("My Program")
print("=" * 50)

# 출력
==================================================
My Program
==================================================

3) 문자열 길이 구하기

a = "Life is too short"
print(len(a))

#출력
17

여기서 중요한 것은 공백도 하나의 공간으로 인식해 글자 개수에 영향을 준다.

7. 문자열 인덱싱과 슬라이싱

  • 인덱싱(Indexing)이란 특정 위치의 요소를 지칭하는 것
  • 슬라이싱(Slicing)은 특정 위치의 요소들의 묶음이다.
# String Indexing
a = "Life is too short, You need Python"
print(a[3])
print(a[0])
print(a[-0])
print(a[-1])
print(a[-3])

#출력
e
L
L ## a[0] = a[-0]
n
h

## String Slicing
print(a[3:8])
print(a[:4])
print(a[10:])

#출력
e is 
Life
o short, You need Python

인덱싱에서 ‘-‘의 의미는 뒤에서부터 첫번쨰를 말한다. 여기서 중요한 것은 괄호의 의미이다. 좌측 대괄호(‘[‘)는 이상을 뜻하고, 우측 대괄호(‘]‘)는 미만을 뜻한다. 따라서, print(a[3:8])이라는 것은 결국 3부터 7번 인덱스에 해당하는 값들을 출력하라는 것이다.

a = "Life is too short, You need Python"
print(a[19:-7])  ## 19번째부터 -8번째에 해당하는 값들을 출력하라
                 ## -8번째라는 것은 문자 길이가 34개이므로 결국은 26번째를 말한다.

#출력
You need

8. 문자열 포매팅

문자열에서 또 하나 알아야 할 것은 바로 포매팅(Formatting)이다.

1) 숫자 바로 대입

a = "I eat %d apples." %3
print(a)

#출력
I eat 3 apples

2)문자열 바로 대입

a = :I eat %s apples." % "five"

#
I eat five apples.

3) 숫자 값을 나타내는 변수로 대입

number = 3
a = "I eat %d apples." % number
print(a)

#출력
I eat 3 apples

4) 2개 이상의 값을 넣기

number = 10
day = "tree"
a = "I ate %d apples. so I was sick for %s days." % (number, day)

#출력
I ate 10 apples. so I was sick for three days.

이처럼 포맷팅을 하는 여러 방법들이 있다. 반드시 문자열 포맷 코드를 숙지해야 한다.
문자열 포맷 코드

  • %d : 문자열(String)
  • %c : 문자 1개(Character)
  • %d : 정수(Integer)
  • %f : 부동소수(floating-point)

9. 포맷 코드와 함께 숫자 사용하기

1) 정렬과 공백

print("%10s" % "hi")

#출력
        hi

%10s는 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미이다.

print(%-10sjane." % 'hi)

#출력
hi        jane.

hi를 왼쪽으로 정렬하고 나머지는 공백으로 채웠음을 볼 수 있다.

2) 소수점 표현하기

print("%0.4f" % 3.42134234")

#출력
3.4213

3.42134234의 소수점 네 번째 자리까지만 나타내고 싶을 때 위와 같이 사용한다.

print("%10.4f" % 3.42134234")

#출력
    3.4213

위 예는 숫자 3.42134234를 소수점 네 번째 자리까지만 표시하고 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하는 예를 보여준다.

Reference

점프 투 파이썬

py 카테고리 내 다른 글 보러가기

댓글 남기기