문자열 함수는 자바나 C언어에서도 중요하지만 파이썬의 문자열 함수는 조금 특이하다.
문자열 함수는 크게 5가지로 나눠서 설명하겠다.
1. format 함수
2. upper/lower 함수
3. is~~ 함수 (문자열 구성 파악하는 함수)
4. find & rfind 함수
5. 문자열과 in 연산자
1. format 함수
format 함수를 사용하면 숫자를 문자열로 변환하거나 정수를 다양한 형태로 출력할 수 있습니다.
1-1 문자열의 format() 함수
중괄호{}를 포함한 문자열 뒤에 마침표를 찍고 format함수를 사용할 수 있다.
1
2
3
|
a = "{}".format(123)
print(a)
print(type(a))
|
cs |
이때 format 함수를 사용해 123이라는 숫자를 문자열로 바꾼걸 확인할 수 있다.
format 함수 안에는 숫자뿐만 아니라 문자열 그리고 boolean까지 넣을수 있다.
1
2
3
4
5
6
|
a = "당신은 파이썬을 잘합니까? {}".format(True)
b = "내가 최근에 재밌게 본 영화: {}".format("탑건")
c = "{} {} {}".format(1,"ABC",False)
print(a)
print(b)
print(c)
|
cs |
1-2 정수를 다양하게 출력하는 format 함수
정수를 특정 칸에 출력하기, 빈칸을 0으로 채우기, 양수,음수로 출력할 수 있습니다.
1
2
|
b = "{:5d}".format(50)
c = "{:10d}".format(50)
|
cs |
첫번째 줄은 5칸을 빈칸으로 잡고 뒤에서부터 50이라는 숫자를 채웠습니다.
두번째 줄은 10칸을 빈칸으로 잡고 뒤에서부터 50이라는 숫자를 채웠습니다.
*이때 빈칸으로 잡고 뒤에서부터 숫자를 채우므로 첫번째 줄의 앞의 빈 칸은 (5-2) 3칸입니다.
1
|
d = "{:05d}".format(50)
|
cs |
5칸을 빈칸으로 잡고 뒤에서부터 52라는 숫자를 넣고 앞의 빈 곳을 0으로 채웁니다.
1
2
3
|
a = "{:+d}".format(52)
b = "{:+d}".format(-52)
print(a , b)
|
cs |
d 앞에 +기호를 붙이면 양수와 음수 기호를 표현할수 있습니다.
2. upper / lower 함수
Java를 하신분이라면 이름만 보고 대충 유추하실 수 있을 거라 생각됩니다.
upper 함수는 문자의 알파벳을 대문자로, lower함수는 소문자로 만듭니다.
1
2
3
4
5
|
a = "My name is Kevin"
a = a.upper()
print(a)
a = a.lower()
print(a)
|
cs |
두번째 줄에서 upper함수를 이용해 a의 알파벳을 대문자로 만들었다.
네번째 줄에서는 lower함수를 이용해 a의 알파벳을 소문자로 만들었다.
3. is ~ 함수
1. isalnum 함수
- 문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인합니다.
1
2
3
|
a = "Alphabet"
b = a.isalnum()
print(b)
|
cs |
출력값: True
2. isalpha 함수
-문자열이 알파벳으로만 구성되어 있는지 확인합니다.
1
2
3
4
|
a = "Alphabet"
b = a.isalpha()
print(b)
|
cs |
출력값: True
3. isdecimal 함수
- 문자열이 정수 형태인지 확인합니다.
1
2
3
4
|
a = "Alphabet"
b = a.isdecimal()
print(b)
|
cs |
출력값: False
4. isdigit 함수
- 문자열이 숫자로 인식될 수 있는 것인지 확인합니다.
1
2
3
|
a = "123"
b = a.isdigit()
print(b)
|
cs |
출력값: True
5. islower 함수
- 문자열이 소문자로만 구성되어 있는지 확인합니다.
1
2
3
|
a = "orangutan"
b = a.islower()
print(b)
|
cs |
출력값: True
6. isupper 함수
-문자열이 대문자로만 구성되어 있는지 확인합니다.
1
2
3
|
a = "orangutan"
b = a.isupper()
print(b)
|
cs |
출력값: False
4. find & rfind 함수
find 함수: 문자열의 왼쪽부터 찾아서 처음 등장하는 위치를 찾습니다.
rfind 함수: 오른쪽부터 찾아서 처음 등장하는 위치를 찾습니다.
1
2
3
4
5
|
a = "파이썬파이썬재밌어"
b = a.find("파이썬")
c = a.rfind("파이썬")
print(b, c)
|
cs |
출력값: 0 3
a.find("파이썬")의 값이 0이 나오는 이유는 문자열의 시작 인덱스는 0이기 때문.
5. 문자열과 in 연산자
문자열 내부에 내가 원하는 문자열이 있는지 확인하려면 in 연산자를 사용하면 됩니다.
1
2
|
a = "애플 주식 화이팅"
print("애플" in a)
|
cs |
애플이라는 글자가 a 안에 있기 때문에 출력 값은 True입니다.