본문 바로가기

Python

Python 문자열의 기본 함수

문자열

주어.동사(목적어) 형태

문자열.함수(매개변수, 매개변수)

문자열 만들기

1. 큰따옴표(")로 양쪽 둘러싸기

"Hello World"

2. 작은따옴표(')로 양쪽 둘러싸기

'Python is fun'

3. 큰따옴표 3개를 연속(""")으로 써서 양쪽 둘러싸기

"""Life is too short, You need python"""

4. 작은따옴표 3개를 연속(''')으로 써서 양쪽 둘러싸기

'''Life is too short, You need python'''

문자열 안에 따옴표를 포함할 때

문자열을 큰따옴표(")로 둘러싸야 한다. 큰따옴표 안에 들어 있는 작은따옴표는 문자열을 나타내기 위한 기호로 인식되지 않는다.

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

>>> food = "Python's favorite food is perl"
food
"Python's favorite food is perl"

2. 문자열에 큰따옴표 (") 포함시키기

문자열을 작은따옴표(')로 둘러싸면 된다.

"Python is very easy." he says.

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

백슬래시(\\)를 작은따옴표(')나 큰따옴표(") 앞에 삽입하면 백슬래시(\\ ) 뒤의 작은따옴표(')나 큰따옴표(")는 문자열을 둘러싸는 기호의 의미가 아니라 문자 ('), (") 그 자체를 뜻하게 된다.

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

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

1. 줄을 바꾸기 위한 이스케이프 코드 \\n 삽입하기

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

위 예처럼 줄바꿈 문자 \\n을 삽입하는 방법이 있지만 읽기에 불편하고 줄이 길어지는 단점이 있다.

2. 연속된 작은따옴표 3개(''') 또는 큰따옴표 3개(""") 사용하기

위 1번의 단점을 극복하기 위해 파이썬에서는 다음과 같이 작은따옴표 3개(''') 또는 큰따옴표 3개(""")를 사용한다.

>>> multiline='''
... Life is too short
... You need python
... '''
>>> multiline="""
... Life is too short
... You need python
... """
>>> print(multiline)
Life is too short
You need python

문자열 길이 구하기

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

format()

문자열에 적용하는 함수

>>> “{} {} {} {}”.format(1, 2, 3, 4)
'1 2 3 4'

>>> "{}년 {}월 {}일 {}요일".format(2022, 12, 23, "금")
'2022년 12월 23일 금요일'

upper()

모든 문자를 대문자로 전환

>>> "Hello".upper()
'HELLO'

lower()

모든 문자를 소문자로 전환

>>> "Hello".lower()
'hello'

upper()와 lower() 는 언제 사용할까? ID 등 중복을 허용하지 않으며 사칭을 방지하기 위해 사용 출력값이 변하는 것 뿐, 저장된 값이 바뀌진 않음

strip()

공백 제거

>>> "       문자      ".strip()
'문자'

lstrip() # 왼쪽 공백 제거
rstrip() # 오른쪽 공백 제거

find()

>>> “가나다라마바사”.find("라") # 0부터 시작
3

>>> “가나다라마바사”.find("하") # 없다면 -1 출력
-1

# find()는 왼쪽부터 찾기 때문에 우측 기준으로 찾을 때는 rfind() 사용

in 연산자

>>> "가" in "가나다라마"
True

>>> "하" in "가나다라마"
False

>>> "가나다라마" in "가"
False

split()

"10 20 30 40 50".split(" ")
['10', '20', '30', '40', '50']