오식랜드
[python] 입출력 본문
문자열
다음 두 문장의 출력 결과는 어떻게 될까요?
print("Python", "Java")
print("Python" + "Java")
첫 번째 문장은 콤마(,) 로 문자열들을 구분하였고 두 번째 문장은 더하기(+) 기호로 문자열들을 합쳤습니다.
실행시켜보면 이런 결과를 확인할 수 있습니다. 띄어쓰기가 되느냐 마느냐의 차이네요.
사실 print() 문에서는 문자열들을 구분하는 방법을 사용자가 직접 정의할 수 있습니다.
바로 sep 입니다. 분리 기호를 의미하는 separator 의 줄임말이죠.
- sep
print("Python", "Java", sep=",") # 값들을 콤마(,) 로 구분
각 값들을 무엇으로 구분할지를 정해서 sep= 의 값으로 설정하면 되는데 여기서는 콤마(,) 로 했습니다.
조금 더 확실히 확인하기 위해서 이번에는 " vs " 라는 문자열로 구분지어보겠습니다. 이해를 돕기 위해 JavaScript 도 하나 추가해볼게요.
print("Python", "Java", "JavaScript", sep=" vs ") # 값들을 " vs " 로 구분
- end
print() 는 기본적으로 문장이 끝날때마다 줄바꿈을 하기 때문에 연속적으로 2개 이상의 print() 를 이용하면 각각의 줄에 내용이 출력됩니다. 하지만 이를 한 줄에 모두 엮어서 출력하려면 end=" " 와 같이 하면 되지요.
print("Python", "Java", sep=",", end="?")
print("무엇이 더 재밌을까요?")
Python 과 Java 라는 각각의 문자열을 sep="," 을 통해서 콤마(,) 로 구분하고, end="?" 를 통해서 print() 문의 마지막을 물음표(?) 로 하였기 때문에 두 번째로 나오는 문장은 연이어서 한 줄에 출력되는 것이죠.
사전
- items()
dictionary에서는 변수.items()로 출력해보면 튜플로 변환되어 나옵니다
scores = {"수학":0, "영어":50, "코딩":100}
print(scores.items())
# dict_items([('수학', 0), ('영어', 50), ('코딩', 100)])
- items() + for
그리고 items를 for문에 이용해보면 이렇게 쓸 수 있습니다
scores = {"수학":0, "영어":50, "코딩":100}
print(scores.items())
for subject, score in scores.items(): # key, value
print(subject, score)
출력은 위와 같이 나오게 되는데, 이 때 각각 subject와 score의 글자정렬을 바꿔줄 수 있습니다.
- ljust() : 왼쪽 정렬(left)
- rjust() : 오른쪽정렬(right)
scores = {"수학":0, "영어":50, "코딩":100}
for subject, score in scores.items():
print(subject.ljust(8), str(score).rjust(4), sep=":")
- zfill()
예를 들어 은행 대기번호를 출력해보도록 하겠습니다.
for num in range(1, 21): # 1~20 까지의 숫자
print("대기번호 : " + str(num))
실행 결과로는 아래처럼 나옵니다
대기번호 : 1
대기번호 : 2
대기번호 : 3
-생략-
대기번호 : 18
대기번호 : 19
대기번호 : 20
이를 실제 은행의 대기 번호표와 같이 바꿔보겠습니다.
여기서 사용할 zfill() 은 함께 전달해주는 숫자만큼의 공간을 확보하고 그 공간을 zero 로, 즉 0 으로 채워주는(fill) 동작을 합니다.
for num in range(1, 21): # 1~20 까지의 숫자
print("대기번호 : " + str(num).zfill(3))
대기번호 : 001
대기번호 : 002
대기번호 : 003
-생략-
대기번호 : 018
대기번호 : 019
대기번호 : 020
실행 결과는 훨씬 모양새가 좋습니다.
'dev-log > python' 카테고리의 다른 글
[python] class (0) | 2023.01.12 |
---|---|
[python] 파일 입출력 (0) | 2023.01.09 |
[python] 함수 (0) | 2023.01.09 |
[python] 반복문 while문 (0) | 2023.01.04 |
[python] 반복문 for문 (0) | 2023.01.04 |