공부/Python

Python의 재미있는 문법들/format... 문자열 내장 함수

Chelsey 2022. 2. 9. 23:43
728x90

format

프로그램의 출력 방법 중 하나.

1. % 이용하여 출력

x=20
print("I eat %d apples" %x)

# if, 두개 이상이면 소괄호로 묶는다.
print("I ate %d apples. So I was sick for %s days" %(3,"three")

# 소수점 1자리까지의 실수 표시(소수점 1자리까지 칸 확보)
# %.1f

# 10칸 확보 후 우측 정렬하여 출력
print("%10s" %"hello")
# ->           hello
# 마이너스로 하면 출력 후 우측 10칸 확보

2. % 문자 출력

format을 사용할 때 %가 등장하면 뒤에 s, d, f... 타입이 붙기를 기대한다. 그래서 문자 %를 사용할 때는 연속해서 두개를 써준다.

print("Accuracy is %d%%" %90)

3. format index 이용한 출력

# .format(데이터1, 데이터2)
# 각 데이터값들은 인덱스값을 가진다.
print("I ate {0} apples. So I was sick for {1} days".format(1,2))

# 변수명을 이용, 변수를 지정해줌
print("I ate {num} apples. So I was sick for {day} days".format(num=1, day="2")

Count

특정 문자의 해당 문자열 안에서의 갯수

.count()
"data".count('z')

find

원하는 문자 검색, 인덱스 값을 추출한다. 값이 없어도 에러가 안난다!

x.find('a')

index

원하는 문자 인덱스 값 출력. 값이 없으면 에러 남!!!

x.index('a')

split

list type으로 해당 기준으로 데이터를 쪼개준다.

x="a,b,c,d"
res=x.split(",")

join

"" 의 문자열을 list 원소 사이사이에 넣어서 붙여줌...^^

print("".join(res))

capitalize, upper, lower

대문자 혹은 소문자로 변경한다.

"test".capitalize() # 맨 첫글자 대문자로 Test
"test".upper() # 전부 대문자로
"test".lower() # 전부 소문자로

sep

a=" hello "
b="hi"
print(a,b, sep="") # "" : 기본 띄어쓰기가 됨

strip

a.strip() # 양쪽 공백 모두 없애줌
a.lstrip() # 왼쪽 공백 제거
a.rstrip() # 오른쪽 공백 제거

replace

a 대신 b : .replace(a, b)

a="Python is too easy"
a.replace("Easy", "difficult")

정렬하기 {0:<^>10}

print("{0:<10}".format("ottffssent")) # 왼쪽부터 정렬
print("{0:^10}".format("ottffssent")) # 중간에 정렬
print("{0:>10}".format("ottffssent")) # 오른쪽으로 전체 자리수 10자리

eval

문자열로 처리된 수식을 int형태로 바꾸어 계산해준다.

eval(a)
728x90