본문 바로가기
Programming/Python

04. 표준입출력

by goatlab 2021. 12. 8.
728x90
반응형
SMALL

input 함수

 

python에서는 표준 입력을 하는 함수로 input 함수를 지원한다.

 

  • input() : 표준 입력장치(키보드)로 부터 문자열을 입력 받는다.
  • input('문자열') : 문자열을 출력하고 표준 입력장치(키보드)로 부터 문자열을 입력 받는다.
  • 입력된 값은 문자열이다.
  • 사용자가 EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return)을 입력하면 EOFError를 발생시킨다.
print('이름을 입력하세요', end="")
name = input();
print("이름 : {0}, type : {1}".format(name,type(name)))
name = input('이름을 입력하세요 ');

 

정수 입력

 

기본적으로 input함수는 문자열로 입력된다. 그래서 입력받은 값을 정수형으로 변환해서 사용해야 한다.

 

  • eval() 함수 : 인수를 유효한 파이썬 표현식으로 리턴한다.
  • int() 클래스 : class int(x=0), class int(x,base=10)
    숫자나 문자열 x 로 부터 만들어진 정수 객체를 돌려준다.
    인자가 주어지지 않으면 0 을 돌려준다.
    base는 진법을 나타내며 주로 2, 8, 10, 16을 사용한다. 10이 기본값이다.
# 표준 입력
data = input("정수를 입력하시오 : ")
print(data, type(data))
# print(data, type(data), data + 1) 에러 문자열과 정수를 +(더하기)할 수 없습니다.

data = eval(input("정수를 입력하시오 : "))
print(data, type(data), data + 1)

data = int(input("정수를 입력하시오 : "))
print(data, type(data), data + 1)

data = int(input("2진수를 입력하시오 : "), 2)
print(data, type(data), data + 1)

data = int(input("8진수를 입력하시오 : "), 8)
print(data, type(data), data + 1)

data = int(input("10진수를 입력하시오 : "), 10)
print(data, type(data), data + 1)

data = int(input("16진수를 입력하시오 : "), 16)
print(data, type(data), data + 1)

 

실수 입력

 

기본적으로 input함수는 문자열로 입력된다. 그래서 입력받은 값을 실수형으로 변환해서 사용해야 한다.

 

  • eval() 함수 : 인수를 유효한 파이썬 표현식으로 리턴한다.
  • float() 클래스 : class float(x)
    숫자나 문자열 x 로 부터 만들어진 실수 객체를 돌려준다.
    인자가 주어지지 않으면 0 을 돌려준다.
# 표준 입력
data = input("실수를 입력하시오 : ")
print(data, type(data))
# 에러 문자열과 실수를 +(더하기)할 수 없습니다.
# print(data, type(data), data + 1.2)

data = eval(input("실수를 입력하시오 : "))
print(data, type(data), data + 1.2)

data = float(input("정수를 입력하시오 : "))
print(data, type(data), data + 1.2)

 

튜플(tuple), 리스트(list)로 입력받기

 

# 표준 입력
string = input("(1,2) 처럼입력하시오 ")
print(string, type(string))

string = eval( input("(1,2) 처럼입력하시오 "))
print(string, type(string))

string = input("[1,2,3,4,5,6] 처럼입력하시오 ")
print(string, type(string))

string = eval( input("[1,2,3,4,5,6] 처럼입력하시오 "))
print(string, type(string))

 

print함수

 

python에서는 표준 출력을 하는 함수로 print함수를 지원한다.

 

  • print(출력대상1, 출력 대상2 .... )
  • 출력시 출력대상들의 사이에 구분자를 넣을때는 sep를 기술한다. (기본값 : 공백)
  • 마지막 문자열을 출력하고 출력할문자는 end를 기술한다. (기본값 : 줄바꿈문자)
  • 출력 방향을 변경 할 때는 file을 기술한다. (기본값 : sys.stdout(표준출력장치,모니터))
  • 스트림을 강제적으로 flush할지를 지정할때는 flush를 기술한다. (기본값 : False)
#  출력에 대하여 알아보자
print("하나","둘","셋",1,2,3) 
print("하나","둘","셋",1,2,3,sep='-') 
print("첫번째 값")
print("두번째 값") # 다른 줄에 출력
print("첫번째 값", end=" ---> ")
print("두번째 값") # 같은 줄에 출력
# 출력 방향 변경
file = open("test.txt","w")
print("Hello Python!!", file=file) # 파일로 출력
file.close()

--> 하나 둘 셋 1 2 3
--> 하나-둘-셋-1-2-3
--> 첫번째 값
--> 두번째 값
--> 첫번째 값 ---> 두번째 값

 

문자열 출력

 

  • 작은따옴표이든 큰따옴표이든 문자열 출력시 같이 사용된다.
  • 짝은 따옴표안에 큰따옴표가 가능하다.
  • 큰 따옴표안에 작은따옴표가 가능하다.
  • 큰따옴표안에서 큰따옴표를 출력하려면 \"로 해야 한다.
  • 작은따옴표안에서 작은따옴표를 출력하려면 \'로 해야 힌다.
  • 동일한 문자열을 여러번 출력시 " * 횟수"를 사용한다.
print('Hello World!!')
print("Hello World!!")
print("나의 이름은 '한사람'입니다.")
print('나의 이름은 "한사람"입니다.')
print("나의 이름은 \"한사람\"입니다.")
print('나의 이름은 \'한사람\'입니다.')
print('-' * 40)

--> Hello World!!
--> Hello World!!
--> 나의 이름은 '한사람'입니다.
--> 나의 이름은 "한사람"입니다.
--> 나의 이름은 "한사람"입니다.
--> 나의 이름은 '한사람'입니다.

 

확장 문자 출력

 

기본 확장 문자 (escape sequence)를 지원한다.

 

\' : 따옴표 문자
\" : 쌍따옴표 문자
\ : backslash 문자
\a : bell 문자
\b : backslash 문자
\f : Formfeed 문자
\n : newline 문\r : carriage return 문자(\n와 동일하지 않다.)
\t : tab 문자
\v : vertical tab 문자
  • 숫자 형식 (8진법과 16진법) 확장 문자 (escape sequence)들과 Unicode 확장 문자 (escape sequence)들 8진수 또는 16진수 확장 문자 (escape sequence)를 사용하여 ASCII 문자를 포함시킬 수 있다.
  • 8진수 확장 문자 (escape sequence)는 backslash()와 세 자릿수 8진수 숫자를 사용한다.
  • 결과로는 8진수 확장 문자 (escape sequence)에 해당하는 ASCII 문자가 출력된다.
  • 16진수 확장 문자 (escape sequence)도 이와 비슷하지만 “\”가 아니라 “\x”로 시작되며 16진수 숫자로 구성되는 점이 다르다.
  • 이 확장 문자 (escape sequence)는 문자가 더 이상 16진수가 아닐 때 종료된다. 예를 들어 문자 n은 ASCII 문자표에서 십진수 값 109이다. 이는 8진수로 하면 156이며 16진수로 하면 6E이다.
#  출력에 대하여 알아보자
print('Hello \tWorld!!')
print("Hello \nWorld!!")
print("나의 이름은 \"한사람\"입니다.")
print('나의 이름은 \'한사람\'입니다.')
print('-' * 40)
print('1 \n')
print('2 \012')
print('3 \x0A')
print('-' * 40)
print('n')
print('\156')
print('\x6E')
print('-' * 40)

--> 실행 결과
Hello   World!!
Hello 
World!!
나의 이름은 "한사람"입니다.
나의 이름은 '한사람'입니다.
----------------------------------------
1 

2 

3 

----------------------------------------
n
n
n
----------------------------------------
# Unicode 명으로 escape
unicode_a = '\N{LATIN SMALL LETTER A}'
print(unicode_a)
# Unicode 명으로 escape
unicode_a_with_acute = '\N{LATIN SMALL LETTER A WITH ACUTE}'
print(unicode_a_with_acute)

--> 실행 결과
a
á


https://wikidocs.net/20403

 

02. Python(파이썬) 표준 출력

### 1. print함수 Python에서는 표준 출력을 하는 함수로 print함수를 지원합니다. 일단 도움말을 통해서 print 함수의 사용법을 알아보도록 하겠습니다. ...

wikidocs.net

 

728x90
반응형
LIST

'Programming > Python' 카테고리의 다른 글

06. 함수 (Function)  (0) 2021.12.08
05. 제어문 (If, For, While)  (0) 2021.12.08
03. 자료형을 이용한 자료관리  (0) 2021.12.08
02. 자료형과 연산자  (0) 2021.12.08
01. Intro  (0) 2021.12.08