파이썬

파이썬(Python) 문자열 내장 함수

Irene1988 2025. 6. 16. 16:23

✅ 문자열 내장 함수(메서드)란?

 

  • 문자열 자료형(str)이 갖고 있는 기본 제공 함수들
  • "문자열".함수() 형태로 사용함
  • 예: "hello".upper() → 대문자로 변환

✅ 자주 쓰는 문자열 내장 함수 15선

함수 설명 예시
upper() 모두 대문자로 "apple".upper() → 'APPLE'
lower() 모두 소문자로 "Apple".lower() → 'apple'
capitalize() 첫 글자만 대문자 "python is fun".capitalize() → 'Python is fun'
title() 단어마다 첫 글자 대문자 "hello world".title() → 'Hello World'
strip() 양쪽 공백 제거 " hi ".strip() → 'hi'
lstrip() 왼쪽 공백 제거 " hi".lstrip() → 'hi'
rstrip() 오른쪽 공백 제거 "hi ".rstrip() → 'hi'
replace(a, b) 문자열 a → b로 바꾸기 "hello world".replace("world", "Python") → 'hello Python'
split() 공백(기본) 기준 나누기 "a b c".split() → ['a', 'b', 'c']
split(',') 쉼표 기준 나누기 "a,b,c".split(',') → ['a', 'b', 'c']
join() 리스트를 문자열로 연결 ",".join(['a', 'b']) → 'a,b'
find() 처음 나오는 위치 반환 "banana".find("a") → 1
rfind() 뒤에서부터 찾기 "banana".rfind("a") → 5
count() 문자열 내 특정 문자 개수 "banana".count("a") → 3
startswith() / endswith() 특정 문자로 시작/끝나는지 "hello".startswith("he") → True

 

 

✅ 예제 모음

text = "  Hello, Python world!  "

print(text.strip())         # 'Hello, Python world!'
print(text.upper())         # '  HELLO, PYTHON WORLD!  '
print(text.lower())         # '  hello, python world!  '
print(text.replace("world", "universe"))  # '  Hello, Python universe!  '
print(text.split())         # ['Hello,', 'Python', 'world!']

 

 

✅ 실습 예제: 이메일 유효성 확인

email = "test@example.com"

if email.endswith("@example.com"):
    print("회사 이메일입니다.")

 

 

✅ 문자열 관련 유용한 함수 추가

함수 설명 예시
isalnum() 영문자/숫자인지 "abc123".isalnum() → True
isalpha() 영문자만 있는지 "abc".isalpha() → True
isdigit() 숫자만 있는지 "123".isdigit() → True
isspace() 공백 문자만 있는지 " ".isspace() → True

 

 


✅ 1. chr()

**정수(유니코드 숫자)**를 문자로 변환해주는 함수

 

✔ 사용법:

chr(65)     # 'A'
chr(97)     # 'a'
chr(8364)   # '€'

 

🧠 참고: ord()는 반대 기능을 합니다. 문자 → 유니코드 정수

ord('A')    # 65
ord('€')    # 8364

 

✅ 2. eval()

문자열로 된 파이썬 표현식실행해서 결과를 반환

✔ 사용법:

eval("3 + 5")            # 8
eval("len('hello')")     # 5
eval("sum([1, 2, 3])")   # 6

 

주의!

  • eval()은 입력된 문자열을 실제 코드로 실행하므로, 보안상 위험이 있어요. 외부 입력으로 절대 쓰면 안 됨!!

✅ 3. format()

문자열을 **포맷팅(서식 적용)**할 때 사용

 

 

✔ 사용법 ①: 위치 기반

"Hello, {}!".format("MJ")       # 'Hello, MJ!'
"{} + {} = {}".format(3, 5, 8)  # '3 + 5 = 8'

 

✔ 사용법 ②: 이름 기반

"{name} is {age} years old.".format(name="MJ", age=25)
# 'MJ is 25 years old.'

 

✔ 사용법 ③: 숫자 서식

"{:.2f}".format(3.14159)  # '3.14' (소수점 둘째 자리까지)
"{:03d}".format(7)        # '007' (정수 3자리, 앞에 0 채움)

 

✅ 4. str()

숫자, 리스트, 객체 등을 **문자열(str 타입)**으로 변환

 

✔ 사용법:

str(123)         # '123'
str(3.14)        # '3.14'
str([1, 2, 3])   # '[1, 2, 3]'
str(True)        # 'True'

📌 보통 print()할 때 문자열로 변환되지만, str()을 써서 명시적으로 문자열로 바꾸는 것도 가능해요.

 

✅ 정리 요약표

함수 기능 예시 결과
chr() 정수 → 문자 chr(65) 'A'
eval() 문자열 코드 실행 eval("3+4") 7
format() 문자열 서식 지정 "{} + {}".format(3,5) '3 + 5'
str() 객체 → 문자열 str(3.14) '3.14'