문자열의 format() 함수
format() 함수는 문자열이 가지고 있는 함수이다. 중괄호{}를 포함한 문자열 뒤에 마침표(.)를 찍고 format함수를 사용하는데 중괄호 개수와 format 함수 괄호 안의 매개변수의 개수는 반드시 같아야 한다.
예)
"{}".format(10)
"{} {}".format(10, 20)
"{} {} {}".format(10, 20, 30)
↘format() 함수로 숫자를 문자열로 변환하기
string_a = "{}".format(10)
print(string_a)
print(type(string_a))
[실행결과]
format 함수는 {} 기호를 format의 괄호 안에 있는 매개변수로 대체하는 것이기 때문에 {}기호 앞뒤 혹은 {}기호와 {}기호 사이에 다양한 문자열을 넣을 수 있다.
↘format() 함수의 다양한 형태
format_a = "{} 억".format(100)
format_b = "파이썬 열공하여 첫 연봉 {}억 만들기 ".format(100)
format_c = "{} {} {}".format(3000, 4000, 5000)
format_d = "{} {} {}".format(1, "문자열", True)
print(format_a)
print(format_b)
print(format_c)
print(format_d)
[실행결과]
format_d의 경우 숫자 이외의 자료형에도 적용할 수 있다는 것을 보여주고 있다.
↘IndexError 예외
{} 기호의 개수가 format() 함수의 매개변수 개수보다 많으면 IndexError 예외가 발생한다.
매개변수가 {}보다 많은 경우는 {} 개수만큼 적용되고 나머지 매개변수는 버려지면서 정상 실행되지만 그 반대인 경우는 IndexError라는 예외가 발생한다.
format() 함수의 다양한 기능
↘정수 출력의 다양한 형태 [:d]
#정수
output_a = "{:d}".format(52)
#특정 칸에 출력하기
output_b = "{:5d}".format(52) #→ int자료형의 정수를 출력, 매개변수 정수만 가능
output_c = "{:10d}".format(52)
#빈칸을 0으로 채우기
output_d = "{:05d}".format(52)
output_e = "{:05d}".format(-52)
print(output_a)
print(output_b)
print(output_c)
print(output_d)
print(output_e)
[실행결과]
#기호와 함께 출력하기
output_f = "{:+d}".format(52)
output_g = "{:-d}".format(-52)
output_h = "{: d}".format(52) #→ 기호 부분 공백
output_i = "{: d}".format(-52) #→ 기호 부분 공백
print(output_f)
print(output_g)
print(output_h)
print(output_i)
[실행결과]
{: d}처럼 d 앞에 공백을 두면 양수의 경우에 기호 위치를 공백으로 비워둔다.
#조합하기
output_h = "{:+5d}".format(52) #→ 기호를 뒤로 밀기(양수)
output_i = "{:+5d}".format(-52) #→ 기호를 뒤로 밀기(음수)
output_j = "{:=+5d}".format(52) #→ 기호를 앞으로 밀기(양수)
output_k = "{:=+5d}".format(-52) #→ 기호를 앞으로 밀기(음수)
output_l = "{:+05d}".format(52) #→ 0으로 채우기(양수)
output_m = "{:+05d}".format(-52) #→ 0으로 채우기(양수)
print(output_h)
print(output_i)
print(output_j)
print(output_k)
print(output_l)
print(output_m)
[실행결과]
기호와 공백을 조합할 때는 (=) 기호를 앞에 붙일 수 있다.
↘부동 소수점 출력의 다양한 형태 [:f]
소수점이 들어가는 float 자료형의 숫자에 대해서 알아보자. float 자료형 출력을 강제로 지정할 때는 [:f]를 사용한다.
output_a = "{:f}".format(52.273)
output_b = "{:15f}".format(52.273) #→ 15칸 만들기
output_c = "{:+15f}".format(52.273) #→ 15칸에 부호 추가
output_d = "{:+015f}".format(52.273) #→ 15칸에 부호 추가하고 0으로 채우기
print(output_a)
print(output_b)
print(output_c)
print(output_d)
[실행결과]
추가로 부동 소수점의 경우 소수점 아래 자릿수를 지정할 수 있다.
output_a = "{:15.3f}".format(52.273)
output_b = "{:15.2f}".format(52.273)
output_c = "{:15.1f}".format(52.273)
print(output_a)
print(output_b)
print(output_c)
[실행결과]
매개변수의 소수점 아래 자릿수 보다 작게 출력할 경우 반올림이 일어난다.
↘의미 없는 소수점 제거하기 [:g]
파이썬은 0과 0.0을 출력했을 때 내부적으로 자료형이 다르므로 서로 다른 값을 출력한다. 그런데 의미 없는 0을 제거한 수 출력하고 싶은 때는 [:g]를 사용하면 된다.
output_a = 52.0
output_b = "{:g}".format(output_a)
print(output_a)
print(output_b)
[실행결과]
대소문자 바꾸기: upper() 와 lower()
↘upper() : 문자열의 알파벳을 대문자로 변환
a = "Hello bts"
a.upper()
[실행결과]
↘lower(): 문자열의 알파벳을 소문자로 변환
a = "Hello BTS"
a.lower()
[실행결과]
※ upper() 함수와 lower() 함수를 사용하더라도 a 원본은 변하지 않는다.
문자열 양옆에 공백 제거하기: strip()
↘strip() : 문자열 양옆에 공백 제거
↘lstrip() : 왼쪽의 공백을 제거
↘rstrip() : 오른쪽의 공백을 제거
input_a = """
안녕하세요
공백제거 테스트입니다
"""
print(input_a)
[실행결과]
문자열 위아래에 의도치 않게 줄바꿈이 들어가게 된다. 이럴 경우 strip() 함수로 쉽게 제거할 수 있다.
print(input_a.strip())
[실행결과]
문자열 구성 파악하기: isOO()
문자열이 소문자로만 구성되어져 있는지, 알파벳으로만 구성되어져 있는지, 숫자로만 구성되어져 있는지 등을 확인할 때는 is로 시작하는 이름의 함수를 사용한다.
↘isalnum() : 문자열이 알파벳 또는 숫자로만 구성되어져 있는지 확인
↘isalpha() : 문자열이 알파벳으로만 구성되어져 있는지 확인
↘isidentifier() : 문자열이 식별자로 사용할 수 있는 것인지 확인
↘isdecimal() : 문자열이 정수 형태인지 확인
↘isdigit() : 문자열이 숫자로 인식될 수 있는 것인지 확인
↘isspace() : 문자열이 공백으로만 구성되어져 있는지 확인
↘islower() : 문자열이 소문자로만 구성되어져 있는지 확인
↘isupper() : 문자열이 대문자로만 구성되어져 있는지 확인
print("BTS7".isalnum())
print("BTS7".isalpha())
print("BTS7".isidentifier())
print("BTS7".isdecimal())
print("BTS7".isspace())
print("BTS7".islower())
print("BTS7".isupper())
[실행결과]
문자열 찾기: find()와 rfind()
문자열 내부에 특정 문자가 어디에 위치하는지 확인할 때 find() 함수와 rfind() 함수를 사용한다.
↘find() : 왼쪽부터 찾아서 처음 등장하는 위치를 찾는다.
↘rfind() : 오른쪽부터 찾아서 처음 등장하는 위치를 찾는다.
output_a = "안녕안녕하세요".find("안녕")
print(output_a)
output_b = "안녕안녕하세요".rfind("안녕")
print(output_b)
[실행결과]
※ 문자열은 0번째부터 시작한다.
문자열과 in 연산자
문자열 내부에 어떤 문자열이 있는지 확인하려면 in 연산자를 사용한다. 출력은 True / false 로 나온다.
print("안녕" in "안녕하세요")
print("잘자" in "안녕하세요")
[실행결과]
문자열 자르기: split()
문자열을 특정한 문자로 자를 때는 split() 함수를 사용한다.
a = "10 20 30 40 50".split(" ")
print(a)
[실행결과]
여기까지.
'개발자모드 > 혼자공부하는파이썬' 카테고리의 다른 글
[파이썬#10] if~else 조건문과 elif 구문, 그리고 pass 키워드 (0) | 2022.07.01 |
---|---|
[파이썬#09] 불(Boolean) 자료형, 비교연산자, 논리연산자, if 조건문 (0) | 2022.06.30 |
[파이썬#07] 변수와 입력 함수, 형변환 함수 - input(), int(), float(), str() 함수 (0) | 2022.06.28 |
[파이썬#06] 숫자 - 숫자자료형, 숫자연산자, 연산자 우선순위 (0) | 2022.06.27 |
[파이썬#05] 자료형과 문자열 (0) | 2022.06.24 |
댓글