문자
문자열 : "와 ' 둘다 사용가능, 주로 '사용
string11 = "hello world"
string12 = 'hello world'
+ 기호로 문자열 결합가능
string13 = 'study'
string14 = 'python'
string13+string14
#'studypython'
type(string13)
# <class 'str'>
*로 문자열 복제 가능
greet = 'hello' * 3 + '\n'
greet
#'hellohellohello\n'
이스케이프 문자
\n | 줄바꿈 |
\t | 탭 |
\r | 캐리지 티런 |
\0 | null |
\\ | 문자\ |
\' | 단일 인용부호 |
\" | 다중 인용부호 |
str()
데이터 타입을 문자로 변환가능
숫자/문자 결합불가, int() 함수로 숫자로 변환하거나, str()함수로 문자로 변환하여 결합연산 수행
문자열 인덱스(오프셋)
say = 'HELLO WORLD!'
특정문자열 추출은 변수명[숫자]
H | E | L | L | O | W | O | R | L | D | ! | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
hellow world 인덱스 (11)보다 1초과할경우 예외발생 (IndexError : string index out of range) 인덱스가 범위를 벗어났다
문자열 자르기(slicing)
변수[범위시작:범위끝] : 시작되는건 포함, 끝나는건 포함되지 않음
len() : 문자열 길이
input() : 콘솔로부터 문장 입력받는 함수
예제) 사용자로부터 id를 입력받아, 이메일주소 알려주기
UTF-8 인코딩 방식
UTF-8 인코딩은 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 사용한다. 예를 들어서, U+0000부터 U+007F 범위에 있는 ASCII 문자들은 UTF-8에서 1바이트만으로 표시된다. 4바이트로 표현되는 문자는 모두 기본 다국어 평면(BMP) 바깥의 유니코드 문자이며, 거의 사용되지 않는다. UTF-16과 UTF-8 중 어느 인코딩이 더 적은 바이트를 사용하는지는 문자열에서 사용된 코드 포인트에 따라 달라지며, 실제로 DEFLATE와 같은 일반적인 압축 알고리즘을 사용할 경우 이 차이는 무시할 수 있을 정도이다. 이러한 압축 알고리즘을 사용하기 힘들고 크기가 중요할 경우 유니코드 표준 압축 방식(Standard Compression Scheme for Unicode)을 대신 사용할 수 있다.