문자열은 immutable(변경 불가능한) 자료형!
사용 시 원본 자체를 바꾸지 못하고 변경한 값을 리턴
| a | b | c | d | e | f | |
|---|---|---|---|---|---|---|
| index | 0 | 1 | 2 | 3 | 4 | 5 |
| index | -6 | -5 | -4 | -3 | -2 | -1 |
s[2:5:2] = 'ce'
s[-5:-1:3] = 'be'
s[2:5:-1] = ''
s[:] = 'abcdef'
s[::-1] = 'fedcba'
s[-3:] = 'def'
s.find(x) : x의 첫 번째 위치를 반환, 없으면 -1 반환
s.index(x) : x의 첫 번째 위치를 반환, 없으면 오류 발생
s.isalpha() : 알파벳 문자 여부
s.isupper() : 대문자 여부
s.islower() : 소문자 여부
s.istitle() : 타이틀 형식 여부
cf) 'is'가 붙으면 반환값이 boolean type
startswith() : 문자열이 지정된 문자/문자열로 시작하면 True, 아니면 False를 반환
endswith() : 문자열이 지정된 문자/문자열로 끝나면 True, 아니면 False를 반환
s = 'Hello Python!'
print(s.startswith('Hel'))
print(s.endswith('!'))
s.replace(old, new, count) : 글자 바꾸기, count 지정 시 해당 개수만큼 시행
s.strip([chars])
strip('chars') : 문자열 앞/뒤의 'chars(문자)' 제거, 괄호가 빈 경우 공백('\n'포함) 제거lstrip('chars') : left, 선행 문자 제거rstrip('chars') : right, 후행 문자 제거text = ",,,,,123.....water....pp"
print(text.lstrip(',123.p')) # water....pp
print(text.rstrip(',123.p')) # ,,,,,123.....water
print(text.strip(',123.p')) # water
인자로 여러 문자 전달 시 해당 위치의 일치하는 모든 문자 제거
s.split(sep=None) : 문자열을 특정한 단위로 나눠 리스트로 반환, sep 지정되지 않을 시공백 기준 분리
'separator'.join([iterable]) : 컨테이너 요소들을 seperator로 합쳐 문자열 반환
print(''.join(['3', '5'])) # 35
s.capitalize() : 첫 번째 글자 대문자로 변경
s.title() : '나 공백 이후를 대문자로 변경
s.upper() : 모두 대문자로 변경
s.lower() : 모두 소문자로 변경
s.swapcase() : 대문자를 소문자로, 소문자를 대문자로 변경
ASCII, American Standard Code for Information Interchange
미국 정보교환 표준 부호
컴퓨터는 숫자만 이해할 수 있어 문자를 인코딩해야함
1bit = 1byte이며 각 문자를 표현하는데 1byte 사용
아스키코드 메서드
ord(문자) : 문자를 아스키코드로 변환
chr(아스키코드) : 아스키코드를 문자로 변환