홍강zone

[Python] 문자열 자료형에 대해 본문

Python

[Python] 문자열 자료형에 대해

홍강 2023. 4. 15. 20:29

문자열(String)

# 문자열에 작은따옴표 (') 포함시키기. 둘러싼 따옴표도 작은따옴표이면 오류가 발생한다.
>>> food = "Python's favorite food is perl"
>>> food
"Python's favorite food is perl"

# 문자열에 큰따옴표 (") 포함시키기. 위와 동일조건.
>>> say = '"Python is very easy." he says.'

# 백슬래시(\)를 사용하고 문자열에 포함시킬 따옴표를 넣어주면 둘러쌓인 따옴표 종류가 상관없다.
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."
>>> print(multiline)
Life is too short
You need python 결과값 출력하기

# 줄바꿈을 위한 이스케이프 코드 \n 삽입하기(읽기 불편 줄이 길어짐)
>>> multiline = "Life is too short\nYou need python"


# 연속된 작은따옴표 3개(''') 또는 큰따옴표 3개(""") 사용하기
>>> multiline='''
... Life is too short
... You need python
... '''

>>> multiline="""
... Life is too short
... You need python
... """

 

이스케이프 코드 : 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 문자 조합. 출력물을 보기 좋게 정렬하는 용도로 사용

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

 

# 문자열 인덱싱 : 0부터 숫자를 센다. -1은 뒤에서 첫번째 문자를 가리킨다.
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'

# 문자열 슬라이싱 
>>> a = "Life is too short, You need Python"
>>> a[0:3] # 0이상 3미만. 3번인 e는 포함되지 않는다.
'Lif'
>>> a[0:5] # 공백 또한 문자다.
'Life '
>>> a[:17] # 시작번호를 생략하면 0부터 뽑아낸다.
'Life is too short'
>>> a[19:] # 끝 번호를 생략하면 끝까지 뽑아낸다.
'You need Python'

 

문자열 포매팅

# 정수 대입 문자열 포맷 코드 : %d 
>>> "I eat %d apples." % 3
'I eat 3 apples.'

# 문자열 대입 코드 : %s 모든 문자열을 %s 코드로 대체할 수 있다.
>>> "I eat %s apples." % "five"
'I eat five apples.'

# 변수로 대입
>>> number = 10
>>> day = "three"
>>> "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와 문자 %를 같이 쓸 때는 %%를 쓴다.
>>> "Error is %d%%." % 98
'Error is 98%.'

 

format 함수를 사용한 포매팅

# 숫자 대입
>>> "I eat {0} apples".format(3)
'I eat 3 apples'

# 문자열 대입
>>> "I eat {0} apples".format("five")
'I eat five apples'

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

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

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

# f 문자열 포매팅
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'

 

소수점 표현하기

# 소수점 뒤에 4자리까지만 표현하고 싶을때
>>> "%0.4f" % 3.42134234
'3.4213'

 

문자열 관련 함수

# count 문자 개수 세기
>>> a = "hobby"
>>> a.count('b')
2

# find 위치 알려주기 b가 처음으로 나온 위치 반환, k는 존재하지 않아서 -1을 반환.
>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1

# index 위치 알려주기 find와 달리 존재하지 않으면 오류 발생
>>> a = "Life is too short"
>>> a.index('t')
8
>>> a.index('k')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found

'Python' 카테고리의 다른 글

[Python] 리스트 자료형에 대해  (0) 2023.04.16
[Python] 숫자형 사칙연산, **, %, // 연산자  (0) 2023.04.15