본문 바로가기
프로그래밍/Python

파이썬(Python) string 모듈에 대해서 알아보자.

by 부자 꽁냥이 2022. 10. 21.

이번 포스팅에서는 파이썬(Python)에서 제공하는 string 모듈에 대해서 알아보고자 한다.


   string 모듈이란?

1) string 모듈? 넌 누구야?

(내가 생각하는) string 모듈은 특정 분류에 따른 문자 집합을 제공하는 모듈이다.


2) string이 제공하는 문자 집합

string은 알파벳, 숫자, 특수문자 그리고 공백과 같은 문자 집합을 제공한다. 아래 코드를 보고 그 사용법을 익힐 수 있다.

 

import string

print('알파벳 관련')
print(string.ascii_letters) ## 알파벳 대문자 소문자 모두
print(string.ascii_lowercase) ## 알파벳 소문자
print(string.ascii_uppercase) ## 알파벳 대문자
print()
print('숫자')
print(string.digits) ## 숫자 0~9
print(string.hexdigits) ## 16진수
print(string.octdigits) ## 16진수
print()
print('특수문자와 공백')
print(string.punctuation) ## 특수문자
string.whitespace## 공백

 


3) string은 도대체 왜 쓰나?

string 모듈은 아이디가 정해진 규칙에 맞는지 아닌지 확인하는 데 사용될 수 있다.

 

만약 아이디 생성 규칙이 알파벳과 숫자로 이루어져야 하고 공백과 특수문자는 들어가면 안 된다고 해보자. 이를 string 모듈을 이용하여 주어진 아이디가 규칙에 맞는지 아닌지 확인할 수 있을 것이다. 아래 코드는 주어진 아이디가 규칙에 맞으면 True 아니면 False를 반환한다.

 

def check_id(id_str):
    check_alphabet = False
    check_digit = False
    for letter in string.ascii_letters:
        if letter in id_str:
            check_alphabet = True
            
    for digit in string.digits:
        if digit in id_str:
            check_digit = True
            
    for punc in string.punctuation:
        if punc in id_str:
            return False
        
    for whitespace in string.whitespace:
        if whitespace in id_str:
            return False
        
    if all([check_alphabet, check_digit]):
        return True
    else:
        return False

 

이제 이 함수가 잘 작동하는지 테스트 해보자. 

 

print(check_id('hello123')) ## 정상
print(check_id('hello 123'))  ## 공백이 있으므로 규칙 위배
print(check_id('hello123@')) ## 특수문자가 있으므로 규칙 위배

 


댓글


맨 위로