isalpha() 및 isdigit() 함수 수동 구현 - NLP에서의 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- Python 개발자 (NLP, 문자열 처리 관련 작업 수행자)
- 난이도 : 중급 (ASCII 코드 이해, 루프 로직 활용)
핵심 요약
isalpha()
함수는 모든 문자가 알파벳인지 확인하며, ASCII 범위65-90
(대문자),97-122
(소문자)를 기준으로 검증isdigit()
함수는 모든 문자가 숫자인지 확인하며, ASCII 범위48-57
을 기준으로 검증- 수동 구현 핵심 로직 :
ord()
함수로 ASCII 코드 추출 → 문자 범위 조건 검사 → 전체 문자 수와 일치 여부 비교
섹션별 세부 요약
1. isalpha() 함수 수동 구현
- 기능 설명
isalpha()
는 문자열 내 모든 문자가 알파벳인지 확인하는 내장 함수- 예제:
"Heydude".isalpha()
→True
,"H@y d1ude".isalpha()
→False
- 수동 구현 로직
ord()
함수로 문자의 ASCII 값을 확인- 대문자:
65-90
, 소문자:97-122
범위 내에 있는지 검증 - 전체 문자 수와 일치 여부로
True
/False
반환 - 코드 예시
```python
def isalpha(text):
counter = 0
for i in text:
if ((ord(i) >= 65 and ord(i) <= 90) or (ord(i) >= 97 and ord(i) <= 122)):
counter += 1
return len(text) == counter
```
2. isdigit() 함수 수동 구현
- 기능 설명
isdigit()
는 문자열 내 모든 문자가 숫자인지 확인하는 내장 함수- 예제:
"Heydude".isdigit()
→False
,"234567".isdigit()
→True
- 수동 구현 로직
ord()
함수로 ASCII 값을 확인- 숫자 범위:
48-57
에 포함되는지 검증 - 전체 문자 수와 일치 여부로
True
/False
반환 - 코드 예시
```python
def isdigit(text):
counter = 0
for i in text:
if (ord(i) >= 48 and ord(i) <= 57):
counter += 1
return len(text) == counter
```
결론
- NLP 전처리 시 수동 구현을 통해 문자 유형 검증을 수행할 수 있음
- ASCII 범위 조건과 루프 로직을 통해 정확한 문자 분류 가능
ord()
함수는 문자열의 ASCII 값을 추출하는 핵심 도구로 활용해야 함