- 문자열의 format() 함수
- 대소문자 바꾸기 : upper()와 lower()
- 문자열 양옆의 공백 제거하기 : strip()
- 문자열의 구성 파악하기 : isOO()
- 문자열 찾기 : find()와 rfind()
- 문자열과 in 연산자
- 문자열 자르기 : split()
문자열의 format() 함수
format()함수는 문자열이 가지고 있는 함수 입니다.
다음과 같이 사용할 수 있습니다.
"{}".format(52)
"{} {} {}".format(52, 20)
"{} {} {} {} {}".format(30, 20 ,10 , 15 ,16)이러한 형태로 앞쪽에 있는 문자열의 {} 기호가 format() 함수 괄호 안에 있는 매개 변수로 차례로 대치되면서 문자열이 되는 것 입니다.
1. format() 함수로 숫자를 문자열로 변환하기
a = "{}".format(10)
print(a) # 10
print(type(a)) # <class 'str'>2. format() 함수의 다양한 형태
a = "{} 만원".format(10)
b = "오늘은 {}월 {}일 입니다".format(7,19)
c = "{} {} {}".format(3000, 4000, 5000)
d = "{} {} {}".format(1, "문자열", True)
print(a) # 10 만원
print(b) # 오늘은 7월 19일 입니다
print(c) # 3000 4000 5000
print(d) # 1 문자열 True정수 출력의 다양한 형태
1. 정수를 특정 칸에 출력하기
# 정수
output_a = "{:d}".format(52) # {:d}는 int 자료형의 정수를 출력하겠다고 직접적으로 지정하는 것이다. 매개변수로 정수만 올 수 있다.
# 특정 칸에 출력하기
output_b = "{:5d}".format(52) # 5칸을 잡고 뒤에서 부터 52를 채운다.
output_c = "{:10d}".format(-52)
# 빈칸을 0으로 채우기
output_d = "{:05d}".format(52) # 5칸을 잡고 뒤에서부터 52라는 숫자를 넣은 후 앞의 빈 곳을 0으로 채운다.
output_e = "{:05d}".format(-52) # 부호가 있을 때는 맨 앞자리를 부호로 채우고 나머지 빈 곳을 0으로 채운다.
print('# 기본')
print(output_a)
print('# 특정 칸에 출력하기')
print(output_b)
print(output_c)
print('# 빈칸을 0으로 채우기')
print(output_d)
print(output_e)▶ 실행결과
# 기본
52
# 특정 칸에 출력하기
52
-52
# 빈칸을 0으로 채우기
00052
-00522. 기호 붙여 출력하기
output_a = "{:+d}".format(52)
output_b = "{:+d}".format(-52)
output_c = "{: d}".format(-52)
output_d = "{: d}".format(52)
print(output_a)
print(output_b)
print(output_c)
print(output_d)▶ 실행결과
+52
-52
-52
523. 조합해보기
output_a = "{:+5d}".format(52)
output_b = "{:+5d}".format(-52)
output_c = "{:=+5d}".format(52)
output_d = "{:=+5d}".format(-52)
output_e = "{:+05d}".format(52)
output_f = "{:+05d}".format(-52)
print(output_a)
print(output_b)
print(output_c)
print(output_d)
print(output_e)
print(output_f)▶ 실행결과
+52
-52
+ 52
- 52
+0052
-0052부동 소수점 출력의 다양한 형태
1. float 자료형의 기본
output_a = "{:f}".format(52.273) # {:f}는 float 자료형을 출력하겠다고 직접적으로 지정하는 것이다. 매개변수로 float 자료형만 올 수 있다.
output_b = "{:15f}".format(52.273)
output_c = "{:+15f}".format(52.273)
output_d = "{:+015f}".format(52.273)
print(output_a)
print(output_b)
print(output_c)
print(output_d)▶ 실행결과
52.273000
52.273000
+52.273000
+0000052.273000#### 1. float 자료형의 기본2. 소수점 아래 자릿수 지정하기
output_a = "{:15.3f}".format(52.273) #{.3f} : 소수점 아래 3번째 자릿수까지 보여준다.
output_b = "{:15.2f}".format(52.273)
output_c = "{:15.1f}".format(52.273)
print(output_a)
print(output_b)
print(output_c)▶ 실행결과
52.273
52.27
52.3자동으로 반올림이 일어나는 것을 확인 할 수 있습니다.
3. 의미 없는 소수점 제거하기
output_a = 52.0
output_b = "{:g}".format(ouput_a) # 의미 없는 0을 제거 하고 싶을 땐 {:g}를 사용한다.
print(output_a)
print(output_b)▶ 실행결과
52.0
52IndexError 살펴보기
{} 기호의 개수가 format() 함수의 매개변수 개수보다 많으면 IndexError 예외가 발생합니다.
>>> "{} {}".format(1, 2, 3, 4) # {} 보다 매개변수 개수가 많을 때는 예외가 발생하지 않습니다. {} 개수만큼 적용되고 나머지 매개변수는 버려집니다.
'1 2'
>>> "{} {} {}".format(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: Replacement index 2 out of range for positional args tuple대소문자 바꾸기 : upper()와 lower()
upper(): 문자열의 알파벳을 대문자로 만든다.lower(): 문자열의 알파벳을 소문자로 만든다.
>>> a = "Hello Python Programming...!"
>>> a.upper()
'HELLO PYTHON PROGRAMMING...!'>>> a = "Hello Python Programming...!"
>>> a.lower()
'hello python programming...!'문자열 양옆의 공백 제거하기 : strip()
strip(): 문자열 양옆의 공백을 제거한다.rstrip(): 문자열 오른쪽 공백을 제거한다.lstrip(): 문자열 왼쪽 공백을 제거한다.
>>> input_a = """
... 안녕하세요
... 문자열의 함수를 알아봅시다.
... """
>>> print(input_a)
안녕하세요
문자열의 함수를 알아봅시다.
>>> print(input_a.strip())
안녕하세요
문자열의 함수를 알아봅시다.문자열의 구성 파악하기 : isOO()
문자열이 소문자로만 구성되어 있는지, 알파벳 또는 숫자로만 구성되어 있는지 등을 확인할 때는 is로 시작하는 이름의 함수를 사용합니다.
isalnum(): 문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인합니다.isalpha(): 문자열이 알파벳으로만 구성되어 있는지 확인합니다.isdentifier(): 문자열이 식별자로 사용할 수 있는 것인지 확인합니다.isdecimal(): 문자열이 정수 형태인지 확인합니다.isdigit(): 문자열이 숫자로 인식될 수 있는 것인지 확인합니다.isspace(): 문자열이 공백으로만 구성되어 있는지 확인합니다.islower(): 문자열이 소문자로만 구성되어 있는지 확인합니다.isupper(): 문자열이 대문자로만 구성되어 있는지 확인합니다.
>>> print("TrainA10".isalnum())
True
>>> print("10".isalnum())
True
>>> print("TrainA10".isdigit())
FalseTrue 또는 False를 출력합니다.
문자열 찾기 : find()와 rfind()
find(): 왼쪽부터 찾아서 처음 등장하는 위치를 찾습니다.rfind(): 오른쪽부터 찾아서 처음 등장하는 위치를 찾습니다.
>>> output_a = "안녕안녕하세요".find("안녕")
>>> print(output_a)
0
>>> output_b = "안녕안녕하세요".rfind("안녕")
>>> print(output_b)
20 1 2 3 4 5 6
안 녕 안 녕 하 세 요처음 "안녕"은 0번째에 있는 것이고,
두 번째 "안녕"은 2번째부터 등장해 저러한 결과가 나옵니다.
문자열 자르기 : split()
>>> a = "10 20 30 40 50".split(" ")
>>> print(a)
['10', '20', '30', '40', '50']