-
15 - format 함수study with Q - 파이썬 2024. 2. 22. 17:22
#format 함수
- 문자열이 가지고 있는 함수
- 중괄호{}를 포함한 문자열 뒤에 마침표(.)를 찍고 사용
- #(중괄호의 개수) = #(함수 괄호 안 매개변수의 개수)로 입력해야 함.
- #(중괄호의 개수) < #(함수 괄호 안 매개변수의 개수)
>>> 첫 번째 매개변수만 입력되서 출력 - #(중괄호의 개수) > #(함수 괄호 안 매개변수의 개수)
>>> IndexError
- #(중괄호의 개수) < #(함수 괄호 안 매개변수의 개수)
- eg
format_1 = "{}".format(10) print(format_1)
#어따 쓰는디?
- 이렇게 긴 코드를 쓰다보면 에러가 발생하기도 하고 너무 복잡하기도 하니까
#52 + 273 = {더한 값} print(a, "+", b, "=", a+b) >>> 52 + 273 = 325 #52+273={더한 값} c = str(a) + "+" + str(b) + "=" + str(a+b) print(c) >>> 52+273=325
- 참고로 숫자와 문자열을 +연산으로 이으면 Type Error가 발생함
print(a + "+" + b + "=" + (a+b)) >>> TypeError
- format 함수를 쓰면 이렇게 간단하게 쓸 수 있다.
#아까 그 식 다시 써봐 format_short = "{} + {} = {}".format(a,b,a+b) print(format_short) >>> 52 + 273 = 325 #띄어쓰기 없는 버전도 format_short_ns = "{}+{}={}".format(a,b,a+b) print(format_short_ns) >>> 52+273=325
#직접해보는 손코딩
#format() 함수로 숫자를 문자열로 변환하기 f_1 = "보증금 {} 월세{}".format(1000, 50) f_2 = "𝝿에 {}를 대입하여 푸시오.".format(3.14) f_3 = "오레오 {}년 {}월 검사결과, 몸길이: {}, 몸무게: {}".format(20203,10,82, 7.8) print(f_1) >>> 보증금 1000 월세50 print(f_2) >>> 𝝿에 3.14를 대입하여 푸시오. print(f_3) >>> 오레오 20203년 10월 검사결과, 몸길이: 82, 몸무게: 7.8
# 에러 발생!
f_2 = "문의사항은 {}-{}-{}으로 연락주세요".format(010,0000,00000) >>> SyntaxError
🧐 아마도 010이나 0000은 정수가 아니여서 그런가
#split 함수
- 문자열을 특정한 문자로 자를 때는 split() 함수를 사용
- 실행결과로 리스트(list,
초절기교 Liszt 아님)가 나옴 (대괄호로 묶여 나옴, 굴비굴비] - split 함수 안에 괄호를 넣어 어떤 기준으로 자를지 결정함
- print("10 20 30 40.spilit(" ")") - 공백을 기준으로 자름
sp_1 = "2 4 8 16 32 64 128".split() sp_1_1 = "2 4 8 16 32 64 128".split(" ") sp_2 = "3-9-27-81-274".split("-") print(sp_1) >>>['2', '4', '8', '16', '32', '64', '128', '256', '512', '1024'] print(sp_1_1) >>>['2', '4', '8', '16', '32', '64', '128', '256', '512', '1024'] print(sp_2) >>>['3', '9', '27', '81', '274']
- split 함수 안에 괄호를 생략하면 공백(띄어쓰기, 줄바꿈, 탭 문자 등)으로 자릅니다.
- 띄어쓰기를 두 번 넣은 곳이 있을 때 " "로 자르면 공백이 나타나고, 괄호를 생략하면 공백이 나타나지 않음
print("0 1 0 1 0 1".split(" ")) >>>['0', '1', '0', '1', '0', '', '', '', '', '1'] print("0 1 0 1 0 1".split()) >>>['0', '1', '0', '1', '0', '1']
- 띄어쓰기, 줄바꿈, 탭 문자를 동일하게 자르고 싶다면 split()으로 입력
print("0 1\n0\t1\t0 1".split(" ")) >>>['0', '1\n0\t1\t0', '1'] print("0 1\n0\t1\t0 1".split()) >>>['0', '1', '0', '1', '0', '1']
용어) {} 중괄호 Curly Bracket(컬리 브라켓)
'study with Q - 파이썬' 카테고리의 다른 글
17 - 파괴적 연산과 비파괴적 연산 (0) 2024.02.26 16 - f-문자열 (0) 2024.02.22 13, 14 - input 함수 (0) 2024.02.18 12 - 변수와 복합대입연산자 (0) 2024.02.18 10, 11 - 숫자 (0) 2024.02.04