[개념] Chapter03-2 : 문자형
카테고리: Python
인프런 강의 프로그래밍 시작하기 : 파이썬 입문을 듣고 정리한 내용입니다✏️.
문자형 사용법
문자열 생성
문자열 선언
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 / 문자로
댓글남기기