반응형
문자열 형식화
▶ 문자열 형식화
문자열 | 의미 |
%d | 정수 |
%s | 문자열 |
%f | 부동소수점 실수 |
%202 | 전체 20칸을 차지하는 문자열(공백을 앞에 붙인다.) |
%-10d | 전체 10칸을 차지하는 숫자 (공백을 뒤에 붙인다.) |
%.5f | 부동소수점의 소수점 아래 5자리 가지 표지 |
* %s 는 숫자도 받는다.
age = 20
print("안녕하세요 내 나이는 %d살 입니다." % age)
▷ 여러개의 값을 문자열 안에 넣어야 할 경우 % 뒤의 값을 소괄호로 감싸 주어야 한다.
year = 2022
month = 9
day = 5
print("%d-%02d-%02d" % (year, month, day))
▷ 부동 소수점
height = 172.5
print("내 키는 %f 입니다." % height)
▷ 정수, 소수, 문자열 출력.
e = 3
print("I have %d children" % 3)
print("I have %s children" % "three")
print("I have %d children" % e)
print("I have %f children %s" % (3.14, "wow"))
# This is 100% True!
print("This is %d%% True!" % 100)
# 전체 자릿수 + 우측, 좌측 정렬
print("%10s" % "good)
print("%-10s" % "good)
# 소수점 자릿수 정의
pi = 3.141592
print("%.2f" % pi)
# 전체 자릿수 정의
print(f"{pi:<20}")
▶ format 메서드를 사용한 문자열 형식화
format 메서드를 사용하여 %기호로 시작하는 형식지정 문자열 대신 {} 기호를 사용한다.
또한 자료형을 표시할 필요가 없다.
print("이름 : {name}, 나이 : {age}, 시력 : {eyesight}".format(name = "최시연" ,age = 33, eyesight = 1.5))
▷ format방식에서 공백의 크기를 지정하거나 부동소수점의 소수점 아래 숫자를 지정 할 때는 {} 안에 : 기호를 넣고 그 뒤에 고급 형식 지정 문자열을 넣는다. : 뒤에 오는 숫자는 공백의 크기를 뜻한다. <는 값을 앞쪽으로 붙이고 공백을 뒤로, >는 값을 앞으로 공백을 뒤로 붙인다. 소수점 자릿수를 지정 할 떄는 . 과 숫자 그리고 f를 사용한다. ,기호를 넣으면 1000단위 마다 붙이는 쉼표를 붙인다.
문자열 | 의미 |
{:>10} | 전체 10칸을 차지하며 공백을 앞에 붙인다.(문자열을 오른쪽에 붙여서 출력) |
{:<10} | 전체 10칸을 차지하며 공백을 뒤에 붙인다.(문자열을 왼쪽에 붙여서 출력) |
{:^10} | 전체 10칸을 차지하며 공백을 앞뒤에 붙인다. (문자열을 중앙에 붙여서 출력) |
{:.5f} | 부동소수점의 소수점 아래 5까지 표시 |
{:,} | 천단위 쉼표 표시 |
{:*>10} | 전체 10칸을 차지하며 "*"을 앞에 붙인다.(문자열을 오른쪽에 붙여서 출력) |
{:*<10} | 전체 10칸을 차지하며 "*"을 뒤에' 붙인다.(문자열을 왼쪽에 붙여서 출력) |
{:*^10} | 전체 10칸을 차지하며 "*"앞뒤에 붙인다.(문자열을 중앙에 붙여서 출력) |
print("This is %d%s True!" % (100, "%"))
print("This is %d%% True!" % 100)
# 전체 자릿수 + 우측, 좌측 정렬
print("%10s" % "good)
print("{:>10}".format("good"))
print("%-10s" % "good)
print("{:<10}".format("good"))
# 소수점 자릿수 정의
pi = 3.141592
print("{:.2f}".format(pi))
print("%.2f" % pi)
# 전체 자릿수 정의
print(f"{pi:<20}")
print("I have {} children".format(3))
print("I have {} children".format("three"))
print("I have {g} children".format(g = 3))
print("I have {g} children {a}".format(g = 3, a = "wow"))
print("I have {0} children {1}".format(3, "wow"))
# I have 3 children
# I have three children
# I have 3 children
# I have 3 children wow
▷ 좌측 정렬, 우측 정렬, 가운데 정렬
print("{:<20}".format("good"))
print("{:>20}".format("good"))
print("{:^20}".format("good"))
print("{:*^20}".format("good"))
# good
# good
# good
# ********good********
a = 4.5560
b = 'Argentine Pesos'
c = 1
print('{0:.2f} {1}are worth US{2}$'.format(a, b, c))
# 4.56 Argentine Pesosare worth US1$
▷ {} 회피
print("{{우리집}}에 {} 놀러와요".format("자주"))
#{우리집}에 자주 놀러와요
▶ f 문자열 형식화
파이썬 3.6부터 f-string이라는 것을 사용 할 수 있다.
f문자열은 문자열 앞에 f글자를 붙인 문자열이다.
f문자열에서는 {}안에 변수의 이름을 바로 사용 할 수 있다.
a = 3
b = 'wow'
print(f"I have {a} children {b}")
# I have 3 children wow
a = 3
b = 'wow'
good = "{good}{day}"
print(f"I have {a} children {b}")
print(f"I have {a+2} children {b}")
print(f"{good}")
# I have 3 children wow
# I have 5 children wow
# {good}{day}
문자열 함수
메서드 | 설명 |
str.format() | 문자열 포멧팅하기 |
str.count() | 문자열 개수 반환 |
str.find() | 문자열 내부의 특정 문자 인덱수 반환 |
str.upper() | 문자열 대문자로 반환 |
str.lower() | 문자열 전체 소문자로 반환 |
str.replace() | 문자열 내부의 특정 문자열 수정 |
str.split | 문자열 분리 |
str.isspace() | 문자열 공백있는치 확인 |
str.lstrip() | 문자열 끝에 있는 좌측 공백 제거 |
str.rstrip() | 문자열 끝에 있는 우측 공백 제거 |
str.strip() | 문자열 양쪽 끝의 공백 제거 |
sa = "Korean culture"
print(sa.count("u"))
print(sa.find("K"))
print(sa.index("K"))
print(" ".join(sa))
print(",".join("123456789"))
# 2
# 0
# 0
# K o r e a n c u l t u r e
# 1,2,3,4,5,6,7,8,9
sa = "Korean culture"
print(sa.upper()) #대문자로
print(sa.lower()) #소문자로
print(' korean '.strip()) # 양쪽 끝 공백 제거
print(' korean '.lstrip()) # 좌측 끝 공백 제거
print(' korean '.rstrip()) # 우측 끝 공백 제거
print(sa.replace("Korean", "American")) # 문자열 수정
print(sa.split(" ")) # 문자열 자르기
print("Korean & culture".replace(" ", "").split("&")) # 공백제거 후 문자열 자르기
# KOREAN CULTURE
# korean culture
# korean
# korean
# korean
# American culture
# ['Korean', 'culture']
# ['Korean', 'culture']
▶ 종합 예제
# C:\nano 출력하기
print("C:/nano")
# 주민번호 앞쪽 뒤쪽 출력
IU = "990316-2030998"
print(IU[:6])
print(IU[-7:])
# replace()
print("a:b:c:d".replace(":", "@"))
# split()
print("a&b&c&d".split("&"))
# 타입변환
print(int("720"))
print(str(100))
# 홀만 출력한다.
game = "짝홀짝홀짝홀"
print(game[1::2])
print(game[len(game)-1])
# Slicing
PN = "010-1234-5678"
print(PN[0:3], PN[4:7], PN[9: ])
print(PN.replace("-", ""))
# com만 출력하라.
add = "http//s:www.samsung.com"
print(add[add.find("com"):])
print(add[-3:]
# C:\nano
# 2
# a@b@c@d
# ['a', 'b', 'c', 'd']
# 720
# 100
# 홀
# 01012345678
# 01012345678
# com
반응형
'Python' 카테고리의 다른 글
[python] 반복문 for (0) | 2022.08.26 |
---|---|
[python] 조건문 if (0) | 2022.08.25 |
[Python] Tuple(튜플) (0) | 2022.08.24 |
[Python] Set(집합) (0) | 2022.08.24 |
[Python] Dictionary(사전) (0) | 2022.08.24 |