Python의 string 라이브러리는 문자열에 대한 다양한 메서드와 상수를 제공합니다. 이 라이브러리를 사용하여 문자열을 조작하고 서식을 지정하는 등 다양한 작업을 수행할 수 있습니다. 아래는 string 라이브러리의 주요 기능과 사용법입니다.
1. 상수
string 라이브러리에는 다양한 상수가 정의되어 있습니다. 이 중에서 가장 유용한 상수는 다음과 같습니다.
string.ascii_letters: 영문 알파벳 대문자와 소문자를 모두 포함한 문자열입니다.
string.ascii_lowercase: 영문 소문자만 포함한 문자열입니다.
string.ascii_uppercase: 영문 대문자만 포함한 문자열입니다.
string.digits: 숫자(0~9)만 포함한 문자열입니다.
string.hexdigits: 16진수 숫자(09, af, A~F)만 포함한 문자열입니다.
string.octdigits: 8진수 숫자(0~7)만 포함한 문자열입니다.
string.printable: 인쇄 가능한 문자들을 모두 포함한 문자열입니다. 즉, ASCII 문자셋에 포함된 문자들만 사용됩니다.
string.punctuation: 모든 구두점 문자를 포함한 문자열입니다.
이러한 상수를 사용하여 특정한 문자열 패턴을 찾거나, 입력값의 형식을 제한하는 등 다양한 용도로 활용할 수 있습니다.
2. 메서드
string 라이브러리의 주요 메서드는 다음과 같습니다.
string.capwords(s, sep=None): 문자열에서 단어의 첫 글자를 대문자로 변환합니다. sep 인자는 단어 구분자를 지정할 수 있습니다. 기본값은 None으로 공백 문자를 구분자로 사용합니다.
string.ascii_lowercase(s): 문자열의 모든 문자를 소문자로 변환합니다.
string.ascii_uppercase(s): 문자열의 모든 문자를 대문자로 변환합니다.
string.digits(s): 문자열에서 숫자(0~9)만 추출하여 반환합니다.
string.hexdigits(s): 문자열에서 16진수 숫자(09, af, A~F)만 추출하여 반환합니다.
string.octdigits(s): 문자열에서 8진수 숫자(0~7)만 추출하여 반환합니다.
string.printable(s): 문자열에서 인쇄 가능한 문자들만 추출하여 반환합니다.
string.punctuation(s): 문자열에서 모든 구두점 문자를 추출하여 반환합니다.
string.replace(s, old, new[, count]): 문자열에서 old 문자열을 new 문자열로 치환합니다. count 인자는 최대 치환 횟수를 지정할 수 있습니다.
3. 예제코드
import string
# 상수 사용 예제
print(string.ascii_lowercase) # 영문 소문자 출력
print(string.digits) # 숫자 출력
print(string.punctuation) # 구두점 출력
# 메서드 사용 예제
s = 'Hello, world!'
print(string.capwords(s)) # 모든 단어의 첫 글자를 대문자로 변환
s = 'This is a Test String'
print(string.ascii_lowercase(s)) # 모든 문자를 소문자로 변환
print(string.ascii_uppercase(s)) # 모든 문자를 대문자로 변환
s = 'Hello, 123!'
print(string.digits(s)) # 숫자만 추출
print(string.punctuation(s)) # 구두점만 추출
s = 'Hello, world!'
print(string.replace(s, 'l', 'X', 1)) # 문자열 치환 (최대 1번만)
'라이브러리' 카테고리의 다른 글
파이썬(Python) statistics 사용법 정리 (0) | 2023.03.05 |
---|---|
파이썬(Python) stat 사용법 정리 (0) | 2023.03.05 |
파이썬(Python) copy 사용법 정리(얕은복사 vs 깊은복사) (0) | 2023.03.03 |
파이썬(Python) json사용법 정리 (0) | 2023.03.03 |
파이썬(Python) bisect 사용법 정리 (0) | 2023.03.03 |