본문 바로가기

MLOps 개발자 양성과정/python

[Day-4] 입력과 출력

<목차>

1. 화면출력

2. 키보드 입력

3. 파일 읽고 쓰기

4. 반복문을 이용해 파일 읽고 쓰기

5. with문을 이용해 파일 읽고 쓰기

 


01. 화면 출력

1) 기본출력

 ,로 구분: 여러 개를 연결해 출력(자동으로 공백 발생

print("Best", "python", "book")
>>> Best python book

 

ㆍ 'sep=문자열': 공백 대신 인자값 지정하여 출력

print("Best", "python", "book", sep = ", ")
>>> Best, python, book

 

+연산자 사용: 공백 없이 문자열 연결해 출력

print("abcd" + "efg")
>>> abcdefg

 

\n 개행문자 사용: 여러 줄로 출력

print("James is my friend.\nHe is Korean.")
>>> James is my friend.
    He is Korean.

 

ㆍend 사용: 두 줄로 출력된 결과를 한 줄로 출력(end = 문자열: 라인의 끝의 값을 지정)

※ print()함수는 기본적으로 줄바꿈 포함되어 있음

print("Welcome to ")
print("python!")
>>> Welcome to
    python!
print("Welcome to ", end="")
print("python!")
>>> Welcome to python!

 

2) 형식 지정 출력

ㆍ 나머지 연산자(%)를 이용한 형식 및 위치 지정

print("%type" %data) #data형식에 따라 타입 값 지정
print("%type" %(data1, data2))
name = "광재"
print("%s는 나의 친구입니다." % name)
>>> 광재는 나의 친구입니다.

r = 3  # 변수 r에 정수 데이터 할당
PI = 3.14159265358979 # 변수 PI에 실수 데이터 할당
print("반지름: %d, 원주율: %f" % (r, PI)) # 지정된 위치에 데이터 출력
>>> 반지름: 3, 원주율: 3.141593

 

ㆍ형식 지정 문자열에서 출력 위치 지정: string.format()

print("{0},{1},{2}.....{n}".format(data_0, data_1, data_2, ....,data_n)
animal_0 = "cat"
animal_1 = "dog"
animal_2 = "fox"

print("Animal: {0}".format(animal_0))
print("Animal: {0},{1},{2}".format(animal_0, animal_1, animal_2))

>>> Animal: cat
>>> Animal: cat,dog,fox

 

- 출력 위치 변경

print("Animal: {1},{2},{0}".format(animal_0, animal_1, animal_2)) #n의 위치 변경
>>> Animal: dog,fox,cat

 

- 일부만 출력

print("Animal: {0},{2}".format(animal_0, animal_1, animal_2))
>>> Animal: cat,fox

 

- 순차적으로 데이터 순서를 지정할 때는 생략가능

print("Animal: {}, {}, {}".format(animal_0, animal_1, animal_2))
>>> Animal: cat, dog, fox

 

- 정수나 실수도 출력가능

* 실수는 17자리까지 표현되며 반올림 되어 출력됨

name = "Tomas"
age = 10
a = 0.1234567890123456789
fmt_string = "String: {0}. Integer Number: {1}. Floating Number: {2}"
print(fmt_string.format(name, age, a))
>>> String: Tomas. Integer Number: 10. Floating Number: 0.12345678901234568

 

ㆍ형식 지정 문자열에서 숫자 출력 형식 지정: {N:'출력형식'} # N은 N번째 데이터의 위치

a = 0.1234567890123456789
b = 0.5432121312313113897
print("{0:.2f}, {1:.3f}".format(a, b))
>>> 0.12, 0.543
데이터(x) 출력형식 출력결과 설명
3 {N:2d} _3 정수를 공백 포함해 두 자리로 표시(_는 공백 한 칸을 의미한다)
3 {N:05d} 00003 정수를 다섯 자리로 표시, 앞의 공백은 0으로 채움
12 {N:>5d} ____5 정수를 다섯 자리로 표시, 숫자는 오른쪽 정렬
0.12345 {N:.3f} 0.123 실수를 소수점 셋째 자리까지 표시
7456000 {N:,} 7,456,000 통화 표시처럼 끝에서 셋째 자리마다 콤마(,) 를 표시
0.3258 {N:.1%} 32.6% 소수를 퍼센트로 표시, 소수점 자리수는 . 다음 숫자로 표시 
92500000000 {N:.2e}    
16      
8      
2