본문 바로가기
Python/파이썬 기초

[2-2] 문자열 자료

by 준보틱스 2024. 6. 26.

문자열(string)이란 문자, 단어 등으로 구성된 문자들의 집합을 말한다. 문자열은 따옴표로 둘러싸여 있다.

ex. "Life is too short, you need python.", "123"

문자열 기본 사용

(1) 큰따옴표로 양쪽 둘러싸기
>>> a = "Hello world!"
>>> print(a)
Hello world!

(2) 작은따옴표로 양쪽 둘러싸기
>>> a = 'Hello world!'
>>> print(a)
Hello world!

(3) 큰따옴표 3개 연속으로 써서 양쪽 둘러싸기
>>> a = """Hello world!"""
>>> print(a)
Hello world!

(4) 작은따옴표 3개 연속으로 써서 양쪽 둘러싸기
>>> a = '''Hello world!'''
>>> print(a)
Hello world!

(5) 문자열 안에 작은따옴표 포함
>>> a = "it's good!"
>>> print(a)
 it's good!

(6) 역슬래시(\) 사용해서 작은따옴표와 큰따옴표 문자열에 포함하기
>>> a = 'it\'s good!'
>>> print(a)
it's good!

여러 줄인 문자열 변수에 대입

(1) 줄을 바꾸기 위한 이스케이프 코드 \n 삽입하기
>>> a = "Life is too short\nyou need python"
>>> print(a)
Life is too short
you need python

(2) 연속된 작은따옴표 3개 또는 큰따옴표 3개 사용하기
>>> a = '''
    Life is too short
    you need python
    '''
>>> print(a)

Life is too short
you need python

 

※ 이스케이프 코드 : 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 문자 조합을 말한다.

코드 설명
\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에서 탭 간격을 줄 때 사용
\\ \ 그대로 표현할 때 사용
\' 작은따옴표(')를 그대로 표현할 때 사용
\" 큰따옴표(")를 그대로 표현할 때 사용

문자열 연산

(1) 문자열 더해서 연결
>>> a = "python"
>>> b = "is fun!"
>>> print(a+b)
python is fun!

(2) 문자열 곱하기
>>> a = "python"
>>> print(a*2)
pythonpython

(3) 문자열 길이 구하기
>>> a = "Life is too short"
>>> print(len(a))
17

문자열 인덱싱과 슬라이싱

● 문자열 인덱싱

>>> a = "Life is too short"
L i f e   i s   t o o   s h o r t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
>>> a = "Life is too short"
>>> print(a[3])
e

>>> a = "Life is too short"
>>> print(a[-1])
t

 

● 문자열 슬라이싱

문자열에서 단순히 한 문자만을 뽑아 내는 것이 아니라, 단어를 뽑아낼 수 있다.

(1) 인덱싱을 이용해 단어 뽑아내기
>>> a = "Life is too short"
>>> b = a[0] + a[1] + a[2] + a[3]
>>> print(b)
Life

(2) 슬라이싱을 이용해 단어 뽑아내기
>>> a = "Life is too short"
>>> print(a[0:4])               (*a[0:4] 는 숫자 0부터 3까지의 문자를 뽑아낸다)
Life

문자열 포매팅

문자열 포매팅은 문자열 안에 어떤 값을 삽입하는 방법이다.

(1) 숫자 바로 대입
>>> a = "I eat %d apples." % 3
>>> print(a)
I eat 3 apples.

(2) 문자열 바로 대입
>>> a = "I eat %s apples." % "five"
>>> print(a)
I eat five apples.

(3) 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> a = "I eat %d apples." % number
I eat 3 apples.

(4) 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> a = "I ate %d apples so i was sick for %s days." % (number, day)
>>> print(a)
I ate 10 apples so i was sick for three days.

 

※ 문자열 포맷 코드

코드 설명
%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)

 

- 포매팅 연산자 %d와 %를 같이 쓸 때는 %%를 쓴다.

>>> "Error is %d%%" % 98
Error is 98%

format 함수를 사용한 포매팅

(1) 숫자 바로 대입하기
>>> a = "I eat {0} apples".format(3)
>>> print(a)
I eat 3 apples

(2) 문자열 바로 대입하기
>>> a = "I eat {0} apples".format("five")
>>> print(a)
I eat five apples

(3) 숫자 값을 가진 변수로 대입
>>> number = 3
>>> a = "I eat {0} apples".format(number)
>>> print(a)
I eat 3 apples

(4) 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> a = "I ate {0} apples so i was sick for {1} days.".format(number, day)
>>> print(a)
I ate 10 apples so i was sick for three days.

(5) 이름으로 넣기
>>> a = "I ate {number} apples so i was sick for {day} days.".format(number=10, day=3)
>>> print(a)
I ate 10 apples so i was sick for 3 days.

(6) 인덱스와 이름 혼용해서 넣기
>>> a = "I ate {0} apples so i was sick for {day} days.".format(10, day=3)
>>> print(a)
I ate 10 apples so i was sick for 3 days.

문자열 관련 함수

● 문자 개수 세기 - count

>>> a = "hobby"
>>> print(a.count("b"))
2

 

● 위치 알려주기 - find, index

(1) find
>>> a = "python"
>>> print(a.find("y"))
1
(2) index
>>> a = "python"
>>> print(a.index("y"))
1

 

● 문자열 삽입 - join

>>> a = ",".join("abcd")
>>> print(a)
a,b,c,d

 

● 소문자 ⇔ 대문자 - upper, lower

(1) upper
>>> a = "hi"
>>> print(a.upper())
HI

(2) lower
>>> a = "HI"
>>> print(a.lower())
hi

 

● 문자열 바꾸기 - replace

>>> a = "Life is too short"
>>> print(a.replace("Life","Your leg"))
Your leg is too short

 

● 문자열 나누기 - split

>>> a = "Life is too short"
>>> print(a.split())
['Life', 'is', 'too', 'short']

'Python > 파이썬 기초' 카테고리의 다른 글

[2-5] 딕셔너리 자료형  (0) 2024.06.28
[2-4] 튜플 자료형  (0) 2024.06.28
[2-3] 리스트 자료형  (0) 2024.06.28
[2-1] 숫자형  (0) 2024.06.26
[1-0] 파이썬이란  (0) 2024.06.25