[개념] Chapter03-2 : 문자형

Date:     Updated:

카테고리:

태그:

인프런 강의 프로그래밍 시작하기 : 파이썬 입문을 듣고 정리한 내용입니다✏️.

문자형 사용법

문자열 생성

문자열 선언

str1 = "I am python"
str2 = 'Python'
str3 = """How are you?"""
str4 = '''Thank you!'''

print(type(str1), type(str2), type(str3), type(str4))
# 출력 : <class 'str'> <class 'str'> <class 'str'> <class 'str'>

빈문자열 선언

str1_t1 = ''
str2_t2 = str() # 조금 더 고급표현

print(type(str1_t1), len(str1_t1))
# 출력 : <class 'str'> 0

print(type(str2_t2), len(str2_t2))
# 출력 : <class 'str'> 0

문자열 길이

print(len(str1), len(str2), len(str3), len(str4))
# 출력 : 11 6 12 10

이스케이프 문자

종류

\n : 개행
\t : 
\\ : 문자
\' : 문자
\" : 문자
\000 : 널 문자
...

사용

escape_str1 = "Do you have a \"retro games\"?"
print(escape_str1)
# 출력 : Do you have a "retro games"?

escape_str2 = 'What\'s on TV?'
print(escape_str2)
# 출력 : What's on TV?

# 탭, 줄 바꿈
t_s1 = "Click \t Start!"
t_s2 = "New Line \n Check!"

print(t_s1)
print(t_s2)

# 출력
Click    Start!
New Line
 Check!

Raw String 출력


raw_s = r'D:\python\test' # 이스케이프 문자가 있어도 그대로 출력함
print(raw_s) # 출력 : D:\python\test

멀티라인 출력

# 역슬래시 사용
multi_str = """
String
Multi line
Test
"""

혹은

multi_str = \
"""
String
Multi line
Test
"""

문자열

문자열 연산

str_o1 = "python"
str_o2 = "Apple"
str_o3 = "How are you doing"
str_o4 = "Seoul Deajeon Busan Jinju"

print(str_o1 * 3)
# 출력 : pythonpythonpython

print(str_o1 + str_o2)
# 출력 : pythonApple

print('y' in str_o1)
# y 가 str_o1안에 있는지
# 출력 : True
# 시퀀스는 in 연산자를 사용할 수 있다.

print('P' not in str_o2)
# 대문자 P는 str_o2안에 없기 때문에 True 출력

문자열 형 변환

print(str(66), type(str(66))) # 출력 : 66 <class 'str'>
print(str(10.1), type(str(10.1))) # 출력 : 10.1 <class 'str'>
print(str(True), type(str(True))) # 출력 : True <class 'str'>

문자열 함수(upper, isalnum, startswith, count, endswith, isalpha 등)

print("Capitalize: ", str_o1.capitalize())
# 첫번째 문자를 대문자로 바꿔줌
# 출력 : Capitalize:  Python

print("endswith?:", str_o2.endswith("s"))
# 마지막 문자가 s인가?
# 출력 : endswith?: False

print("replace", str_o1.replace("thon", 'Good'))
# thon을 찾아서 Good로 바꿔줘
# 출력 : replace pyGood

print("sorted: ", sorted(str_o1))
# 알파벳순 정렬 후 리스트 형태로 반환
# 출력 : sorted:  ['h', 'n', 'o', 'p', 't', 'y']

print("split: ", str_o4.split(' '))
# ' '을 기준으로 나눠서 리스트 형태로 반환
# 출력 : split:  ['Seoul', 'Deajeon', 'Busan', 'Jinju']

반복(시퀀스)

im_str = "Good Boy!"
print(dir(im_str))

# dir() : im_str에서 사용할 수 있는 것을 모두 나열
# __iter__ 가 있다면 반복을 사용 가능

# 출력
for i in im_str:
    print(i)

슬라이싱

str_s1 = "Nice Python"

print(str_s1[0:3])
# 출력 : Nic
# 3 -1 까지 나옴

print(str_s1[5:]) # 5부터 끝까지
# 출력 : Python

print(str_s1[:len(str_s1)]) # str_s1[:11] 이랑 같음
# 출력 : Nice Python

print(str_s1[:len(str_s1)-1]) # str_s1[:10] 이랑 같음
# 출력 : Nice Pytho

print(str_s1[1:9:2]) # 1부터 9까지 2단위로 가져와라
# 출력 : iePt

print(str_s1[-5:]) # 맨 마지막 부터 -1
# 출력 : ython

print(str_s1[1:-2]) # -2 -1 해서 -3까지 출력
# 출력 : ice Pyth

print(str_s1[::2])
# 출력 : Nc yhn

print(str_s1[::-1]) # 역순 출력
# 출력 : nohtyP eciN

아스키 코드(또는 유니코드)

a = 'z'
print(ord(a)) # 출력 : 122  / 아스키 코드로
print(chr(122)) # 출력 : z / 문자로

맨 위로 이동하기

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

댓글남기기