str1 = 'I am python'
str2 = "python"
str3 = """How are you?"""
str4 = '''Thank you'''
print(type(str1), type(str2), type(str3), type(str4)) # <class 'str'>
print(len(str1), len(str2), len(str3), len(str4)) # 11 6 12 10
#빈 문자열
str_t1 = ''
str_t2 = str()
print(type(str_t1), len(str_t1)) # <class 'str'> 0
print(type(str_t2), len(str_t2)) # <class 'str'> 0
#이스케이프 문자열
print("I'm boy") # I'm boy
print('I'm boy') # error
print('I\'m boy') # I'm boy, \를 사용하여 이스케이프
#Raw string
str_raw = r'Hi \t my name is donguk'
print(str_raw) # Hi \t my name is donguk, 이스케이프 문자열을 있는 그대로 출력len() : 문자열의 길이를 구할 때 사용str() 사용하자r’ ’ )은 이스케이프 문자열을 있는 그대로 출력.#Multi line
str_multi = \
''' # '''또는 """
Hi multi line
'''
print(str_multi) # Hi multi linestr_o1 = 'Python'
str_o2 = 'Apple'
print(str_o1 * 3) # PythonPythonPython
print(str_o1 + str_o2) # PythonApple
print('y' in 'Python') # Python 문자열에 y가 있어? > True
print('P' not in 'Apple') # in은 대소문자를 구분한다. > Truea in b : in 은 a가 b에 포함 됐는지 따짐. 시퀀스 자료형은 in 사용 가능 a not in b 는 없는지 따짐print(str(66), type(str(66))) # 66 <class 'str'>
print(str(True), type(str(True))) # True <class 'str'>str( someting variable ) : 문자열로 형 변환 str_o1 = 'python'
print(str_o1.capitalize()) # Python
print(str_o1.endsWith('a')) # False
print(str_o1.replace('thon','good')) # pygood
print(sorted(str_o1)) # ['p', 'h', 'n', 'o', 't', 'y']
print(str_o1.split('y')) # ['p', 'thon']
print(reversed(str_o1)) # <reversed object at 0x1071292d0>, reversed 객체를 반환
print(list(reversed(str_o1))) # ['n', 'o', 'h', 't', 'y', 'p']
print(dir(str_o1)) # __iter__ 만 참고..string.capitalize() : var의 첫번째 글자를 대문자로 변경string.endsWith( variable ) : string 변수의 끝이 variable 으로 끝나면 True, 아니면 Falsestring.replace(a,b) : variable 변수의 a 부분이 있으면 b로 변경sorted(variable) : 문자열의 각 부분을 정렬하여 리스트 형태로 반환 string.split( separator ) : 문자열을 seperator 기준으로 잘라서 결과를 리스트 형태로 반환reversed( variable ) : reversed 객체 반환
list() 의 인자로 전달하면 순서가 거꾸로 바뀐 variable 을 리스트 형태로 반환tuple() 의 인자로 전달하면 순서가 거꾸로 바뀐 variable 을 튜플 형태로 반환<class ‘list’>.reverse() reverse() 함수는 list 타입 에서만 제공하는 함수이다. ( list 순서를 거꾸로 리턴)dir(variable) : 정의된 모듈의 이름이 리스트 형태로 반환. 반환된 리스트의 인자로 iter 가 있다면 이 변수는 시퀀스 이다.
for i in str_o1 :
print(i) # 한 글자씩 출력str_s1 = 'Nice Python'
print(str_s1[0:3]) # index 0 부터 index 3-1 가지 슬라이싱 > 'Nic'
print(str_s1[5:]) # 'Python'
print(str_s1[:len(str_s1)]) # 'Nice Python'
print(str_s1[-5:]) # 'ython'
print(str_s1[1:-2]) # 'ice Pyth'variable[startIndex : endIndex : jumpCount] : variable을 startIndex 부터 endIndex-1 까지 slice 한다.
print(str_s1[:len(str_s1):2]) # 'Nc yhn'
print(str_s1[::2]) # 'Nc yhn'print(str_s1[::-1]) # -1 이니까 순서가 역순으로 됌 > 'nohtyP eciN' ( 문자열 순서 바꿀 때 사용하면 좋을까? )
print(str_s1[::-2]) # 'nhy cN'a = 'z'
print(ord(a)) # 122
print(chr(122)) # 'z'파이선 인터프리터가 아스키 코드를 참고하여 문자열로 처리하여 화면에 문자로 표시.
ord( variable ) : variable의 아스키 코드 값 리턴chr( 아스키코드 값 ) : 아스키코드에 해당하는 문자 리턴