일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래밍
- 2
- 네트워크보안
- 웹개발
- 네트워크
- 알고리즘
- 인공지능
- 보안
- 파이썬
- 데이터구조
- I'm Sorry
- Yes
- 소프트웨어
- 버전관리
- 클라우드컴퓨팅
- 컴퓨터비전
- 딥러닝
- 소프트웨어공학
- 프로그래밍언어
- 데이터과학
- 컴퓨터과학
- 데이터베이스
- 자료구조
- 머신러닝
- 코딩
- 자바스크립트
- 데이터분석
- 사이버보안
- 빅데이터
- 컴퓨터공학
- Today
- Total
스택큐힙리스트
한 줄 안에 여러 개의 것 (고정된 텍스트와/또는 변수 값)을 한꺼번에 인쇄하는 방법은 무엇인가요? 본문
저는 다음과 같은 코드를 가지고 있습니다:
score = 100
name = 'Alice'
print('Total score for %s is %s', name, score)
나는 Total score for Alice is 100를 출력하길 원했지만 대신 Total score for %s is %s Alice 100이 출력됩니다. 모든 것을 올바른 순서와 올바른 서식으로 인쇄하는 방법은 무엇인가요?
참고: How can I print multiple things on the same line, one at a time?; How do I put a variable’s value inside a string (interpolate it into the string)? 도 참조하세요.
답변 1
이 작업을 수행하는 방법은 다양합니다. % -포맷을 사용하여 현재 코드를 수정하려면 튜플을 전달해야 합니다.
튜플 형태로 전달하십시오.
print(Total score for %s is %s % (name, score))
하나의 요소를 가진 튜플은 ('this',)와(과) 같은 모습입니다.
다른 일반적인 방법들은 다음과 같습니다:
이것을 사전으로 전달하십시오.
print(Total score for %(n)s is %(s)s % {'n': name, 's': score})
새로운 형식의 문자열 포맷팅도 있습니다. 이것은 좀 더 읽기 쉬울 수 있습니다.
새로운 스타일의 문자열 포메팅을 사용하세요:
print(Total score for {} is {}.format(name, score))
숫자와 함께 새로운 스타일의 문자열 포맷팅을 사용하면(재정렬 또는 동일한 것을 여러 번 인쇄하는 데 유용함):
print(Total score for {0} is {1}.format(name, score))
명시적인 이름을 사용한 새로운 스타일의 문자열 포맷팅 사용:
print(Total score for {n} is {s}.format(n=name, s=score))
문자열 연결하기:
print(Total score for + str(name) + is + str(score))
내 의견상 가장 명확한 두 가지는:
값을 매개 변수로 전달하십시오.
print(Total score for, name, is, score)
위의 예시에서 print이 자동으로 공백을 삽입하지 않게 하려면 sep 매개 변수를 변경하십시오.
print(Total score for , name, is , score, sep='')
만약 Python 2를 사용한다면 마지막 두 개를 사용할 수 없습니다. print는 Python 2에서 함수가 아니기 때문입니다. 하지만 __future__에서 이 동작을 가져올 수 있습니다.
from __future__ import print_function
파이썬 3.6에서 새로 추가된 f 문자열 포맷팅을 사용하세요.
print(f'Total score for {name} is {score}')
답변 2
여러 가지 조건들이 포함된 데이터나 변수 값을 출력할 때, 고객들은 종종 각 값들이 모두 같은 줄 위에 출력되길 원합니다. 예를 들어, 고객이 이름, 나이, 성별, 국적 등 여러 가지 정보를 입력하고 싶다면, 이러한 정보를 모두 한 줄에 출력하면 보기도 편하고 데이터도 더 직관적으로 다룰 수 있습니다.하지만 여러 가지 값을 한 줄에 출력하는 것은 쉽지 않습니다. 일반적으로 각 값들마다 별도의 출력문을 작성하면서 줄바꿈을 하여야 합니다. 하지만 이러한 방식은 코드가 지저분해질 뿐만 아니라, 불필요한 중복 코드를 만들 수도 있습니다.
따라서 한 줄에 여러 값을 출력하기 위해서는 다양한 방법이 있습니다. 예를 들어, Python program에서는 다음과 같은 방법을 사용할 수 있습니다.
print(이름:, name, \t나이:, age, \t성별:, gender, \t국적:, nationality)
위 코드에서 “\t”는 탭 문자를 의미합니다. 이를 활용하여 각 값들을 구분해 줄 수 있습니다. 또한, “,”는 값을 구분하는 역할을 합니다. 이러한 구분 기호들을 활용하여 각 값들을 한 줄에 출력할 수 있습니다.
또 다른 방법으로는 문자열 포맷팅을 이용하는 것입니다. 다음 예제 코드를 보시죠.
print(이름: {}, 나이: {}, 성별: {}, 국적: {}.format(name, age, gender, nationality))
위 코드에서 “{}”는 값을 출력할 위치를 지정합니다. “format” 함수를 이용하여 값을 매핑하고, 한 줄에 여러 값을 출력할 수 있습니다.
여러 가지 값을 한 줄에 출력하는 것은 프로그래밍에서 자주 사용하는 기술 중 하나입니다. 위에 소개된 방법들이 코드의 가독성을 높이고 중복코드를 방지하기 때문에 적극적으로 활용해 보시면 좋을 것입니다.