이번엔 숫자와 문자열의 다양한 기능을 살펴보겠다.
문자열의 format() 함수
# format() 함수로 숫자를 문자열로 변환하기
format_a = "{}만 원".format(5000)
format_b = "파이썬 열공하여 첫 연봉 {}만 원 만들기".format(5000)
format_c = "{} {} {}".format(3000,4000,5000)
format_d = "{} {} {}".format(1, "문자열", True)
# 출력하기
print(format_a)
print(format_b)
print(format_c)
print(format_d)
# format 함수 괄호 안 매개변수의 개수는 반드시 중괄호의 개수와 같아야 한다.
중괄호에 format함수를 사용하여 매개변수로 대치가 되면서 숫자가 문자열이 되는것이다.
따라서 자료형은 str이다.
위와 같이 다양한 형태를 매개변수로 넣을 수 있고, 중괄호 개수만 같다면 추가가 가능하다.
# 조합하기
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("# 조합하기")
print(output_h)
print(output_i)
print(output_j)
print(output_k)
print(output_l)
print(output_m)
# 조합 순서가 중요하다.
# {:=+05d}랑 {:=0+5d}는 다르다
이 기능을 이용하여 다양하게 표현이 가능하다.
위 코드는 숫자를 몇자 띄우고 표기할수도 있고, 기호도 추가하고 양수 음수도 표현이 가능하다.
# Float 자료형 기본
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)
부동 소수점도 표현이 가능하다.
부동 소수점은 {:f}로 중괄호를 표기해주면 되고, 부동소수점도 다양하게 표현이 가능하다.
# 대소문자 바꾸기
a = "Hello Python Programming"
print(a.upper())
print(a.lower())
# 비파괴적 함수임
대소문자는 upper()과 lower()로 표현이 가능하다.
이 함수는 비파괴적 함수이기 때문에 따로 변수를 선언하지 않고 바꾸지 않는 이상 기본 문자열은 바뀌지 않는다는게 특징이다.
# 문자열 양옆의 공백 제거하기
input_a = """
안녕하세요
문자열의 함수를 알아봅시다
"""
print(input_a)
print(input_a.strip())
strip() 함수는 문자열 양옆의 공백을 제거해 주는 함수이다.
lstrip() 함수를 사용할 경우 왼쪽의 공백을 제거해주고
rstrip() 함수를 사용할 경우 오른쪽의 공백을 제거해준다.
# 문자열의 구성 파악하기
print("TrainA10".isalpha())
print("10".isdigit())
# 문자열 찾기
output_a = "안녕안녕하세요".find("안녕") # 왼쪽부터 찾기 시작해서 처음 등장하는 위치를 반환
print(output_a)
output_b = "안녕안녕하세요".rfind("안녕")
print(output_b) # 오른쪽부터 찾기 시작해서 처음 등장하는 위치를 반환
문자열의 구성을 파악하는 is~() 함수다.
is로 시작하는 함수들은 정말 많지만, 이번 예제에서는
문자열이 알파벳으로만 되어있는지 체크하는 isalpha(),
문자열이 숫자로 인식될 수 있는지 체크하는 isdigit()을 사용해보았다.
결과는 boolean인 True와 False가 도출된다.
문자열 찾기 함수도 사용해보았다.
문장뒤쪽에 find() 함수를 사용하면 문자 왼쪽부터 매개변수에 해당되는 문자들을 찾기 시작해,
제일 처음 보이는 문자의 위치를 반환하게 된다.
그 다음 함수인 rfind()는 반대로 오른쪽 부터 찾기 시작해서 처음 등장하는 위치를 반환한다.
각 print의 결과가 다른 이유는 이 때문이다.
# 문자열과 in 연산자
print("안녕" in "안녕하세요") # 안녕하세요 문자에 안녕 을 포함하고 있으면 True반환 아니면 False
print("잘자" in "안녕하세요")
# 문자열 자르기
a = "10;20;30;40;50".split(";") # split()에 있는 조건으로 문자열을 자른다
print(a)
# 실행결과로 리스트(list)가 나온다.
문자열과 in 연산자를 사용해보았다.
in 연산자는 뒤쪽에 있는 "안녕하세요"에 "안녕"이 존재하는지 찾고 있을 경우 True, 없을경우 False 를 리턴하게 된다.
문자열 자르기는 문자 뒤에 split()이다.
매개변수에 해당하는 조건으로 문자열을 자르게 된다.
이번 코드에는 ;를 기준으로 문자열을 자르게 설정했고, 잘라진 문자는 list 형식으로 나오게 된다.
다음 챕터에서 만나겠다.
'Programming > Python' 카테고리의 다른 글
8. 리스트와 반복문 (0) | 2021.03.12 |
---|---|
7. 조건문 (0) | 2021.03.10 |
5. 변수와 입력 (0) | 2021.03.07 |
4. 자료형과 문자열, 숫자 (0) | 2021.03.07 |
3. 자주 사용되는 파이썬 용어들 (2) | 2021.03.07 |
댓글