[Python] 콘솔입출력
programming/python

[Python] 콘솔입출력

4. 콘솔입출력

 

4.1 실습예제

콘솔 입력 처리 함수

a = input("입력하세요: ")
print("결과: ", a)

 

eval(expression[, globals[, locals]])

# input 함수는 기본적으로 문자열로 입력받음
dan = input("단을 입력하세요: ")
print(type(dan))

# eval() 함수로 감싸면 숫자로 처리됨
dan = eval(input("단을 입력하세요: "))
print(type(dan))

 

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

# print() 함수
# 문자열 연결
# 따옴표로 감싼 문자열은 + 연산과 동일하다
print("good" "morning")
print("good" + "morning")
print('good' 'morning')
print('good' + 'morning')

# 문자열 띄어쓰기는 콤마를 사용한다.
print("good", "morning")

# 10줄로 출력됨
for i in range(10):
    print(i)

# 한 줄에 출력됨
for i in range(10):
    print(i, end=' ')

 

명령행 매개변수

# 명령행 매개변수
# 아래 명령어를 입력한 후 D:/work/python/source/ex01.py로 저장한다.
# sys 모듈을 import
import sys

# argv 명령행에서 입력한 인수들
args = sys.argv[1:]
for i in args:
    print(i)

# 명령 프롬프트를 실행한 후 아래 명령어를 실행한다.
# cd D:/work/python/source
# python ex01.py aaa bbb ccc
#           0     1   2   3
# ex02.py
import sys
args = sys.argv[1:]
print(type(args))
for i in args:
    # print(i.upper(), end = ' ')
    print(i.upper())

# 명령 프롬포트를 실행한 후 아래 명령어를 실행한다.
# cd D:/work/python/source
# python ex02.py i love you
#           0    1   2   3

 

str.format(*args, **kwargs)

# { } 위치에 Kim이 입력되어 출력됨
print('Hello, {0}.'.format('Kim'))
name = input('이름을 입력하세요: ')
print('Hello, {0}.'.format(name))

 

name = input('이름을 입력하세요: ')
job = input('직업을 입력하세요: ')

# 인덱스 대신 변수명을 쓸 수 있다.
print('{0}의 직업은 {1}이다.'.format(name, job))
name = input('이름을 입력하세요: ')
job = input('직업을 입력하세요: ')

# 출력 순서를 바꿀 수 있다.
print('{1}의 직업은 {0}이다.'.format(job, name))
name = input('이름을 입력하세요: ')
job = input('직업을 입력하세요: ')

# 인덱스 대신 변수명을 쓸 수 있다.
print('{n}의 직업은 {j}이다.'.format(j = job, n = name))

 

math — Mathematical functions

import math
print('원주율: {0:f}'.format(math.pi))

# 소수 이하 2자리
print('원주율: {0:.2f}'.format(math.pi))

 

format(value[, format_spec])

num = 10
str = '10진수: {0:d}, 16진수(소문자): {0:x}, 16진수(대문자): {0:X}, 8진수: {0:o}, 2진수: {0:b}'.format(num)
print(str)

# 접두사 표현하기
str = '10진수: {0:d}, 16진수(소문자): {0:#x}, 16진수(대문자): {0:#X}, 8진수: {0:#o}, 2진수: {0:#b}'.format(num)
print(str)

 

천 단위 콤마

# 천 단위 콤마
num = 1234567890
print('{0:,}'.format(num))

 

백분율

# 백분율
num = 0.9815
print('{0:.0%}'.format(num))
print('{0:.2%}'.format(num))