inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵

포맷팅 질문

해결된 질문

61

hyolee

작성한 질문수 2

2

포맷팅 복습하다가 질문드립니다.

 

print('나는 {}호선을 타고 학교를 가'.format(6))

print('나는 {0}호선을 타고 학교를 가'.format(6))

동일한 출력 값인데,

{}안에 인덱스(위치 숫자)를 넣어주면 그 값이 들어가게 된다고 하셨는데 그럼..

print('나는 {1}차를 타고 학교를 가'.format('우리집'))

print('나는 {1}호선을 타고 학교를 가'.format(643))

이면

첫번째 줄은 포맷함수의 문자열의 인덱스 1번 위치인 리

두번째 줄은 포맷함수의 숫자열 인덱스 1번 위치인 4

가 각각 출력되어 중괄호 안에 들어가게 되나요?

python 머신러닝 빅데이터 인공지능(ai) ax(에이전트-경험)

답변 1

1

Selena

안녕하세요. 셀레나입니다.

 

포맷팅은 중요한 개념이죠! :) 열심히 복습도 하신다니 너무 멋지세요!! 언제나 응원합니다.

 


 

첫 번째 예제는 0번째 인덱스를 가지고 옵니다.

 

print('나는 {}호선을 타고 학교를 가'.format(6))
print('나는 {0}호선을 타고 학교를 가'.format(6))

두 줄 모두 "나는 6호선을 타고 학교를 가"를 출력합니다.

{}는 자동 인덱스(0번),

{0}은 명시적으로 0번 인덱스를 사용한 거예요.

 


 

두 번째 예제는 오류가 납니다. 같이 살펴보도록 하죠~!

 

print('나는 {1}차를 타고 학교를 가'.format('우리집'))

이건 에러가 납니다.

왜냐하면?

  • .format('우리집')은 인자 하나만 넘겼어요.

  • 그런데 {1}인덱스 1 를 참조하겠다는 의미예요.

  • 하지만 인자는 하나밖에 없어서 IndexError가 발생합니다.

  • 오류를 해결하기 위해서는 {0}인덱스 0 를 참조해주세요!

 

 

print('나는 {1}호선을 타고 학교를 가'.format(643))

이것도 마찬가지로 에러가 납니다. 643은 하나의 인자일 뿐이고, 1번째 인덱스는 없어요.

 

 

정리하면,

  • format()에 넘긴 인자의 개수가 중괄호에서 참조하는 인덱스보다 적으면 에러가 납니다.

  • 숫자 하나를 넘기더라도 {1}1번째 인덱스를 찾으려고 하기 때문에, 문자열의 1번째 문자나 숫자의 1의 자릿수를 참조하는 게 아니에요.

    단순히 인덱스 기준으로 format() 함수의 인수 리스트를 참조하는 겁니다.

 


 

새로운 예제로 이해해보겠습니다!

 

print('나는 {1}호선을 타고 학교를 가'.format('우리집', 2))

# 출력: 나는 2호선을 타고 학교를 가

여기선 인자를 두 개 넘겼기 때문에 {1}2를 잘 참조할 수 있어요.

 


 

이해되실까요? :)

 

파이썬 공부 화이팅입니다!!!

기출문제

0

9

1

wave terminal 프로그램이 윈도우 스마트 앱 컨트롤에 차단되는 문제

0

5

0

search api free plan이 없습니다.

0

11

0

수강기간 연장 가능 여부 문의드립니다

0

17

1

vercel new project 에 노출되지 않으면 어떻게 해야 할까요?

0

15

1

섹션5 수업노트와 실습자료 문의

0

11

2

claude.md 질문

0

18

2

동영상 끊김 ( 섹션 2 )

0

11

2

주피터 노트북 사용법 강의 관련

0

8

0

파이썬 문법과 기본 개념을 학습한 이후에는 어떤 방향으로 심화 학습을 하는 것이 좋을지 궁금합니다.

1

76

1

리스트를 복사할 때 a = b 와 a = b[:] 의 차이는 무엇인가요?

1

85

1

파이썬에서 객체의 참조(reference)와 할당(assignment)의 차이

2

101

1

파이썬에서 함수의 매개변수 기본값을 설정할 때 주의해야 할 점은 무엇인가요?

1

81

2

얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)의 차이

2

228

2

변수 선언에 관련한 질문.

1

94

2

for-else는 언제 쓰나요?

1

87

2

요즘 바이브코딩이 대세인데 파이썬을 배워야하는 이유가 뭘까요?

1

247

1

코드에서 오류를 찾는 팁이 있을까요?

2

79

2

순회 중 리스트 수정은 왜 위험한지 궁금합니다.

1

89

2

range함수 관련

2

120

1

if 질문

2

90

1

set 질문

2

72

2

딕셔너리 반복자 질문

2

62

1

클래스 질문

2

70

1