본문 바로가기

Python

5. 숫자와 문자열의 다양한 기능

문자열의 format()함수

format()함수 : 문자열이 가지고 있는 함수. 중괄호 {}를 포함한 문자열 뒤에 마침표찍고 format()함수를 사용하며, 중괄호 개수와 함수 안 매개변수 개수 같아야 함.

"{}".format(10)

"{},{},{}".format(23,51,68)

 

#format() 함수로 숫자를 문자열로 변환하기
string_a="{}".format(10)

print(string_a)
print(type(string_a))

=>

10
<class 'str'>

 

#format() 함수로 숫자를 문자열로 변환하기
format_a="{} 만원".format(30)
format_b="연봉 {}만원 만들기".format(5000)
format_c="{} {} {}".format(100,200,300)
format_d="{} {} {}".format("나이",35,"age")

#출력하기
print(format_a)
print(format_b)
print(format_c)
print(format_d)

=>

30 만원
연봉 5000만원 만들기
100 200 300
나이 35 age

 

format() 함수의 다양한 기능

정수 출력의 다양한 형태

#정수
output_a="{:d}".format(52)

#특정 칸에 출력하기
output_b="{:5d}".format(52) #5칸
output_c="{:10d}".format(52) #10칸

#빈칸을 0으로 채우기
output_d="{:05d}".format(52) #양수
output_e="{:05d}".format(-52) #음수

print("#기본")
print(output_a)
print("#특정 칸에 출력하기")
print(output_b)
print(output_c)
print("#빈칸을 0으로 채우기")
print(output_d)
print(output_e)

=>

#기본
52
#특정 칸에 출력하기
   52
        52
#빈칸을 0으로 채우기
00052
-0052

 

 

#기호와 함께 출력하기
output_f="{:+d}".format(52) #양수
output_g="{:+d}".format(-52) #음수
output_h="{: d}".format(52) #양수: 기호 부분 공백
output_i="{: d}".format(-52) #음수 : 기호 부분 공백

print("#기호와 함께 출력하기")
print(output_f)
print(output_g)
print(output_h)
print(output_i)

=>

#기호와 함께 출력하기
+52
-52
 52
-52

 

#조합하기
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)

=>

#조합하기
  +52
  -52
+  52
-  52
+0052
-0052

 

부동 소수점 출력의 다양한 형태

output_a="{:f}".format(45.239)
output_b="{:15f}".format(45.239) #15칸 만들기
output_c="{:+15f}".format(45.239) #15칸에 부호 추가하기
output_d="{:+015f}".format(-45.239) #15칸에 부호 추가하고 0 채우기

print(output_a)
print(output_b)
print(output_c)
print(output_d)

=>

45.239000
      45.239000
     +45.239000
-0000045.239000

 

#소수점 아래 자릿수 지정하기
output_a="{:15.3f}".format(45.239)
output_b="{:15.2f}".format(45.239)
output_c="{:15.1f}".format(-45.239)

print(output_a)
print(output_b)
print(output_c)

=>

         45.239
          45.24
          -45.2

 

의미 없는 소수점 제거하기 : {:g} 사용

#의미 없는 소수점 제거하기
output_a=45.0
output_b="{:g}".format(output_a)

print(output_a)
print(output_b)

=>

45.0
45

 

대소문자 바꾸기 : upper()와 lower()

upper() : 문자열의 알파벳을 대문자로

lower() : 문자열의 알파벳을 소문자로 

 

>>> a="Hello Mr.Yoo"
>>> a.upper()
'HELLO MR.YOO'

>>> a.lower()
'hello mr.yoo'

 

※파괴적 함수와 비파괴적 함수

upper(), lower() 함수는 원본 a의 문자열이 바뀌지 않음. 이처럼 원본을 변화시키지 않는 함수는 비파괴적 함수

 

문자열 양옆의 공백 제거하기 : strip()

strip()함수는 문자열 양옆의 공백을 제거. 예를 들어 댓글창에 "    안녕   " 처럼 공백 넣어 입력하면 댓글 창이 지저분해짐. 양옆의 공백 지워서 "안녕"라고 입력되도록 만드는 데 활용

 

strip() : 문자열 양옆의 공백 제거

lstrip() : 왼쪽의 공백 제거

rstrip() : 오른쪽의 공백 제거 (lstrip, rstrip 거의 사용하지 않음)

여기서 공백은 띄어쓰기, 탭, 줄바꿈 모두 포함

공백 제거하는 기능을 trim이라고도 부름. 공백 제거할 때 strip 또는 trim 활용한다고 표현.

 

>>> input_a='''  
             안녕하세요       
 
 공백 제거 함수 연습합니다.
 '''
>>> print(input_a)

                안녕하세요       

공백 제거 함수 연습합니다.

>>> print(input_a.strip())
안녕하세요       

공백 제거 함수 연습합니다.

 

문자열의 구성 파악하기 : isOO()

문자열이 소문자로만 구성됐는지, 알파벳으로만, 숫자로만 등등.. 확인할 때 is 로 시작하는 함수 사용.

- isalnum() : 문자열이 알파벳 또는 숫자로만 구성 됐는지 확인

- isalpha() : 문자열이 알파벳으로만 구성됐는지 확인

- isidentifier() : 문자열이 식별자로 사용할 수 있는지 확인

- isdecimal() : 문자열이 정수 형태인지 확인

- isdigit() : 문자열이 숫자로 인식될 수 있는지 확인

- isspace() : 문자열이 공백으로만 구성되어 있는지 확인

- islower() : 문자열이 소문자로만 구성됐는지 확인

- isupper() : 문자열이 대문자로만 구성됐는지 확인

 

>>> print("FlightA4".isalnum())
True
>>> print("FlightA4".isdigit())
False
>>> print("300".isdecimal())
True
>>> print("print".isidentifier())
True
>>> print("good".isidentifier())
True
>>> print("$".isidentifier())
False

 

문자열 찾기 : find()와 rfind()

문자열 내부에 특정 문자가 어디에 위치하는지 확인할 때 사용.

find() : 왼쪽부터 찾아서 처음 등장하는 위치를 찾는다

rfind() : 오른쪽부터 찾아서 처음 등장하는 위치를 찾는다.

 

>>> output_a="안녕안녕안녕하세요".find("안녕")
>>> print(output_a)
0
>>> output_b="안녕안녕안녕하세요".rfind("안녕")
>>> print(output_b)
4

 

문자열과 in 연산자

문자열 내부에 어떤 문자열이 있는지 확인하려면 in 연산자 사용.

>>> print("안녕"in"안녕하세요. 반갑습니다.")
True
>>> print("잘자"in"안녕하세요. 반갑습니다.")
False

 

문자열 자르기 : split()

문자열을 특정한 문자로 자를 때 사용.

>>> a="10 20 30 40 50".split(" ")
>>> print(a)
['10', '20', '30', '40', '50']

 

 

'Python' 카테고리의 다른 글

7. 조건문- if~else와 elif 구문  (0) 2022.03.26
6. 조건문 - 불리언, if 조건문  (0) 2022.03.20
4. 변수와 입력  (0) 2022.03.13
3. 숫자  (0) 2022.03.12
2. 자료형과 문자열  (0) 2022.03.04