A. format() : 숫자를 문자열로 변환하는 몇 가지 형태 중 하나
a. { } 중괄호를 포함한 문자열 뒤에 마침표를 찍고, 함수를 적는데 함수 괄호 안 매개변수 개수는 반드시 같거나 많게
▶아래와 같은 모양
"{}".format(10)
"{} {}".format(10, 20)
"{} {} {} {} {}".format(101, 202, 303, 404, 505)
▶example
#format() 함수로 숫자를 문자열로 변환하기
string_a = "{}".format(10)
#출력하기
print(string_a)
print(type(string_a))
b. { } 기호 옆, 앞뒤로 다른 문자열을 넣을 수 있다.
c. 매개변수를 여러개넣으면 차레대로 해당 위치에 대치된다.
//인덱스를 설정해주면 원하는 위치에 가능
d. 숫자 이외의 자료형에도 적용할 수 있다.
※IndexError : {}기호의 개수가 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)
B-1. format()을 사용해 출력할 정수의 다양한 형태
b-1-1. 특정 칸에 출력하기
▶{:d} : 매개변수로 정수만 올 수 있음.
decimal(소수라는 뜻도 있던데 여기서는 십진법으로 이해하자..)
▶{:5d} : 5칸을 빈칸으로 잡고 뒤에서부터 숫자를 채우는 것.
숫자 자리에는 칸 자리 수에 따라 달라짐 ex.{:8d}
▶{:05d} : b.처럼 빈칸을 잡고 숫자를 채운 뒤 나머지 빈 곳은 '0'으로 채워줌
#정수
output_a = "{:d}".format(31)
#특정 칸에 출력하기
output_b = "{:5d}".format(31) #5칸
output_c = "{:10d}".format(31) #10칸
#빈칸을 0으로 채우기
output_d = "{:05d}".format(31) #양수
output_e = "{:05d}".format(-31) #음수
print(output_a)
print(output_b)
print(output_c)
print(output_d)
print(output_e)
b-1-2. 기호 붙여 출력하기
▶b-1-1.에서 d 앞부분에 +기호 또는 공백을 붙이면 양수와 음수 기호 표현 가능
output_f = "{:+d}".format(52) #양수
output_g = "{:+d}".format(-52) #음수
output_h = "{: d}".format(52) #양수: 기호 부분 공백
output_i = "{: d}".format(-52) #음수: 기호 부분 공백
print(output_f)
print(output_g)
print(output_h)
print(output_i)
b-1-3. 기호와 공백을 조합할 때는 '='기호를 앞에 붙일 수 있음
▶ 조합 순서 중요. ex.{:=+05d}를 {:=0+5d} 이렇게 쓰면 오류나거나 다른 결과가 나올 수 있음.
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(output_h)
print(output_i)
print(output_j)
print(output_k)
print(output_l)
print(output_m)
C. 부동 소수점 출력 : {:f}
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)
#소수점 아래 자리수 지정
print("소수점 아래 자리수 지정 -----")
output_aa = "{:15.3f}".format(52.273)
output_ab = "{:15.2f}".format(52.273)
output_ac = "{:15.1f}".format(52.273)
print(output_aa)
print(output_ab)
print(output_ac)
** 보니까 어렵게 생각할 필요 없을 듯. 정수는 decimal이니까 'd' 부동 소수점은 float이니까 'f',
그리고 그 앞에 숫자는 자리 수, 부호 추가하고 싶으면 '+', 0도 함께 하고 싶으면 '0'. 이거를 토대로 조합하기 나름
c. {:g} : 의미 없는 소수점 제거하기. floa 자료형이지만 정수처럼 0을 제거하고 싶을때
output_a = 52.0
output_b = "{:g}".format(output_a)
print(output_a)
print(output_b)
D. upper() : 문자열의 알파벳을 대문자로 / lower() : 문자의 알파벳을 소문자로
* 함수를 사용하면서 문자열이 바뀌면 파괴될거라고 생각하지만 해당 함수의 원본은 바뀌지 않음.
원래 있던거에서 덮어씌우면 파괴적이지만, 그래서 파괴안하려고 '변수'를 사용함.
E. strip() : 문자열 공백 제거
e-1. lstrip() : left 문자열 왼쪽의 공백 제거(연결되어있는 윗줄 공백까지 제거되더라)
e-2. rstrip() : right. 문자열 오른쪽의 공백 제거(연결되어있는 아랫줄 공백까지 제거되더라)
F. isOO() : 문자열 구성 파악
▶ isalnum() / isalpha() / isdentifier() / isdecimal() / isdigit() / isspace() / islower() / isupper() 등등....
▶ 출력은 True / False (이거는 불 boolean이라고 부르지)
G. find() : 특정 문자가 어디에 위치하는지 왼쪽부터 찾음 / rfind() : 오른쪽부터 찾음
▶ index number로 알려준다.
H. in 연산자 : 문자열 내부에 특정 문자열이 있는지 확인해주는, 출력은 True/False로 나옴
I. split() : 문자열자르기, 특정한 문자를 기준으로 자를때. 특정한 문자는 삭제됨
J. f " { } " : f-문자열. f ' 문자열 {표현식} 문자열 '
▶ 종합 example
print("-----확인문제3번")
#p151. 확인문제 3번
a=int(input("> 1번째 숫자 : "))
b=int(input("> 2번째 숫자 : "))
print("{} + {} = {}".format(a,b,a+b))
print()
print("-----확인문제4번")
#p151. 확인문제 4번
string = "hello"
#string.upper()를 실행하고, string 출력하기. 그대로 나올예정
string.upper()
print("A 지점:", string)
#string.upper() 실행하기. 아마 대문자로 변환되어 나올예정
print("B 지점:", string.upper())
print()
print("-----split() 함수 예제 1번")
#2. split() 함수 예제 1번 // 어느 지역 여행이 언급이 되고 있는지
trip = "제주여행강원여행수원여행서울여행인천"
print(trip.split("여행"))
print()
print("-----split() 함수 예제 2번")
#2. split() 함수 예제 2번 // 신규회원 이름 리스트
name = "에이 비 씨 디 이 에프"
print(name.split(" "))
print()
print("-----format() 함수 예제 1번")
#3. format() 함수 예제 1 // 환율 현재와 전일
now = float(1301.2)
before = float(1311.2)
print("""22일 서울외국환중개에 따르면
간밤 뉴욕차액결제선물환(NDF) 시장에서 거래된
원·달러 1개월물은 {}원에 최종 호가됐다.
최근 1개월물 스와프 포인트를 고려하면
이날 환율은 전 거래일 종가({}) 대비
{}원 하락 개장할 것으로 예상된다.""".format(now,before,now-before))
print()
print("-----format() 함수 예제 2번")
#3. format() 함수 예제 2 // 영화평가
star = [5,3,4,1,"X"]
print("""스토리라인 : {}점
영상미 : {}점
연기 : {}점
총별점 : {}점
타인에게 추천할건지 : {} """.format(*star))
print()
print("-----f-문자열 예제 1번")
#4. f-문자열 예제 1번 // 카페 주문받기
drink = "ice latte"
drink_2 = "ice tea"
num = 4
num_2 = 2
print(f"302호에서 {drink} {num}잔, {drink_2} {num_2}잔 총 {num + num_2}잔 주문들어왔습니다")
print()
print("-----f-문자열 예제 2번")
#4. f-문자열 예제 2번 // 홈페이지 회원
base = 123
new = 39
print(f"""기존회원: {base}
신규회원: {new}
총 회원: {base + new}""")