python

[python] string 출력 format | %string | f-string

전감자(◔◡◔) 2022. 9. 19. 22:25

 

format 출력

1. 기본 출력

'''

포맷출력

예> 이름: 홍길동, 나이:20, 주소: 서울
    이름: 이순신, 나이:30, 주소: 부산
1.   변수="이름:{}나이:{}주소:{}".format("홍길동","20","서울") 함수

#위치 지정
2.   변수="이름:{0}나이:{1}주소:{2}".format("홍길동","20","서울")

**************중요**************
3.   변수="이름:{name}나이:{age}주소:{address}".format(name="홍길동",age="20",address="서울")

4. 혼합 가능

'''

mesg="이름:{} 나이:{} 주소:{}".format("홍길동",20,"서울")
print(mesg)

mesg="이름:{1} 나이:{2} 주소:{0}".format("홍길동",20,"서울")
print(mesg)

mesg="이름:{0} 나이:{1} 주소:{2} {2} {2}".format("홍길동",20,"서울")
print(mesg)

mesg="이름:{0} 나이:{1} 주소:{address}".format("홍길동",20,address="서울")
print(mesg)

help('FORMATTING')
 

format 함수

2.수치관련 format

'''

    포맷출력
    ==> 수치관련 포맷
1. 변수 ="금액:{0:옵션}".format(9832879428)
2. 변수 ="금액:{0:.2f}".format(9832.879428)
'''

price ="금액:{0:,}".format(9832879428)
print(price)

price ="금액:{0:.2f}".format(9832.879428)
print(price)
 

format 함수

3. packing , unpacking

'''
1.packing
    값,값2....====>집합형
2.unpacking ==> *집합형
집합형 ===> 값, 값2,...
'''

print("hello")#hello
print(*"hello")#h e l l o

print([10,20,30])#[10,20,30]
print(*[10,20,30])#10,20,30 print(10,20,30)

#2."{},{},{}...".format(값)
x=[10,20,30]
mesg="값1:{},값2:{},값3{}".format(x[0],x[1],x[2])
print(mesg)

mesg="값1:{},값2:{},값3:{}".format(*x)

# 3. "{}, {}".format(dict)
y={"username":"홍길동","age":22}
mesg="값1:{username},값2:{age}".format(**y) #format(username="홍길동",age=20) 와 동일

print(mesg)
 

% string 방식

4. 이전 방식

2. 이전 방식
"이름:%s 나이:%d 키:%.2f 성별 :%c   "%("홍길동",20,177.424,"M")
%s : 문자열
%d : 정수
%f : 실수
%c : 문자 하나


'''

mesg="이름:%s 나이:%d 키:%.2f 성별 :%c   "%("홍길동",20,177.424,"남")
print(mesg)
 

f -string 방식

*중요

'''

포맷 출력

1."".format() 방식 ==> 권장

2. 이전 방식
"이름:%s 나이:%d 키:%.2f 성별 :%c   "%("홍길동",20,177.424,"M")
%s : 문자열
%d : 정수
%f : 실수
%c : 문자 하나

3. format string
===> f"" 형식
===> 장점은 ""안에 변수사용 가능
===> ""안에 변수사용 가능, 연산 가능, 함수호출 가능
'''

name="홍길동"
age=20
mesg="이름:{name},나이:{age}"
print(mesg)

mesg=f"이름:{name},나이:{age}"
print(mesg)

# 연산
name="HongkilDong"
mesg =f"이름:{name.upper()},나이:{age+1},나이가 30보다 크니?{age>30}"
print(mesg)