>>> s = "hello world"
>>> s[0] # 첫 문자
'h'
>>> s[-1] # 마지막 문자
'd'
>>> s[0:5] # 'hello' — stop 은 exclusive
'hello'
>>> s[6:] # index 6 부터 끝까지
'world'
>>> s[:5] # 시작부터 index 5 까지
'hello'
>>> s[::-1] # 뒤집기
'dlrow olleh'
>>> s[::2] # 한 칸 건너 한 문자
'hlowrd'
역슬래시가 많을 때 쓰는 원시 문자열·python
>>> # raw 문자열 없으면 백슬래시마다 escape 필요:
>>> path = "C:\\Users\\Pippa\\Documents" # 못생김
>>> regex = "\\d+\\.\\d+" # 역시 못생김
>>> # raw 문자열 — 백슬래시가 자기 자신 의미:
>>> path = r"C:\Users\Pippa\Documents"
>>> regex = r"\d+\.\d+"
>>> # 주의: raw 문자열은 단일 백슬래시로 끝나면 안 돼.
>>> # r"abc\" 는 syntax error (닫는 따옴표가 escape 됨).
>>> # 끝에 백슬래시 필요하면 일반 문자열 + escape.
글자 수와 UTF-8 바이트 수 비교하기·python
>>> s = "안녕"
>>> len(s) # Unicode 코드 포인트 수
2
>>> len(s.encode("utf-8")) # UTF-8 바이트 수
6
>>> # slicing 할 때 — 코드 포인트 단위이지 바이트 단위가 아님:
>>> s[0]
'안'
>>> s[1]
'녕'
>>> # encoding 경계 — 파일 I/O, 네트워크, 데이터베이스:
>>> with open("hello.txt", "w", encoding="utf-8") as f:
... f.write("안녕")
>>> # 디스크 파일은 6 바이트, Python str 은 2 문자.
item = 'USB cable', qty = 3, price = 12.5로 송장 한 줄을 만들어봐. 물품명은 20칸 왼쪽 정렬, 수량은 4칸 오른쪽 정렬, 합계는 소수 둘째 자리까지 표시해. 이어서 ' HELLO, world! '에 strip, lower, replace를 이어 붙여 'hello world!'를 만들어.
Progress
Progress is local-only — sign in to sync across devices.