#문자열 생성
str1 = "i am python"
str2 = 'python'
str3 = """How are you?"""
str4 = '''Thank you'''
# 문자열 길이 출력 (len 함수)
print(len(str1),len(str2),len(str3),len(str4))
# 빈 문자열
str1_t1 = ''
str2_t2 = str()
print(type(str1_t1), len(str1_t1))
print(type(str2_t2), len(str2_t2))
#이스케이프 문자 사용
# I'm boy
print("I'm boy") #작은 따옴표로 묶을 순 없음
print('I\'m boy') #역슬래시로 표현가능
print('a \t b') # 탭 기능 처럼 표현 가능
print('a \" \" b')
escape_str1 = "Do you have a \"retro games\"?"
print(escape_str1)
escape_str2 = 'What\'s on tv?'
print(escape_str2)
# 탭, 줄바꿈
t_s1 = "click \t start"
t_s2 = "new line \n check"
print(t_s1)
print(t_s2)
print()
# Row String (역슬러시도 있는 그대로 표현 가능 , 앞에 r 붙이기기)
raw_s1 = r'D:\python\test'
print(raw_s1)
print()
# 멀티라인 입력
# 역슬래시를 사용용
multi_str = \
'''
String
Multi Line
Test
'''
print(multi_str)
# 문자열 연산
str_o1 = "python"
str_o2 = "Apple"
str_o3 = "How are you doing ?"
str_o4 = "Seoul Daejeon Busan Jinju"
print(str_o1 * 3)
print(str_o1 + str_o2)
print('y' in str_o1) # str_o1에 y가 들어있니 ?
print('n' in str_o1)
print('P' not in str_o2) # str_o2에 P가 안 들어있니?
# 문자열 형 변환
print(str(66), type(str(66)))
print(str(10.1), type(str(10.1)))
# 문자열 함수(Upper, isalnum, startswith, count, endswith, ...)
print("Capitalize : ", str_o1.capitalize()) # 첫번쨰 글자를 대문자로 바꿔주는 함수
print("endswith? : ", str_o2.endswith("e")) # 괄호 안에 들어가는 글자로 끝나는지 true, false로 구분
print("replace : ", str_o1.replace('thon', 'good')) # 뒤에 단어를 앞 단어로 교체
print("sorted : ", sorted(str_o1)) # 리스트 형태로 정렬
print("split: ", str_o4.split(" ")) # 각 원소를 배열형태로 ""로 구분, 특정 단어 분리할때
# 반복(시퀀스)
im_str = "Good boy !"
print(dir(im_str)) #__iter__
# 출력
for i in im_str:
print(i)
# 슬라이싱
str_s1 = "Nice Python"
# 슬라이싱 연습
print(str_s1[0:3]) #0,1,2 인덱스값 출력
print(str_s1[5:])
print(str_s1[:len(str_s1)]) #str_s1[:11]
print(str_s1[1:4:2]) #2칸 건너뛰어서 1-3인덱스 범위 가져와라
print(str_s1[-5:]) #음수는 끝에서부터 인덱스 번호 계산
print(str_s1[::2]) #처음부터 끝까지 2칸씩 건너뛰어서 값 가져와라
print(str_s1[::-1]) #거꾸로 출력
# 아스키 코드(또는 유니코드)
a = 'z'
print(ord(a))
print(chr(122))