프롬프트와 사용자¶
- Python 2.x. 에서는
raw_input()
을 사용하면 된다. - Python 3.x.는
raw_input
을 지원하지 않는다.- 아래와 같이 만들어놓고 쓰자
In [1]:
# Fix Python 2.x.
try:
input = raw_input
except NameError:
pass
- 아래
format
을 함께 사용하면 사용자에게 질문하고 답을 받을 수 있다.
In [2]:
# -*- coding: utf-8 -*-
age = input("몇 살이죠? ")
height = input("키는 얼마죠? ")
weight = input("몸무게는 얼마죠? ")
print("네, 나이는 {} 살, 키는 {} cm, 몸무게는 {} kg이네요.".format(age, height, weight))
print("뜬금없지만, 태양의 각지름은 {}입니다.".format('''32\'10"'''))
데이터로 쌓아보자.¶
In [3]:
# -*- coding: utf-8 -*-
user_id = input("아이디는 어떻게 되죠? ")
age = input("몇 살이죠? ")
height = input("키는 얼마죠? ")
weight = input("몸무게는 얼마죠? ")
d = {'user_id':'{}'.format(user_id),'age':'{}'.format(age), 'height':'{}'.format(height), 'weight':'{}'.format(weight)}
In [4]:
d
Out[4]:
ex12.py
스크립트를 아래와 같이 만들자.¶
In [ ]:
# -*- coding: utf-8 -*-
# Fix Python 2.x.
try:
input = raw_input
except NameError:
pass
age = input("몇 살이죠?")
height = input("키는 얼마죠?")
weight = input("몸무게는 얼마죠?")
print("네, 나이는 {} 살, 키는 {} cm, 몸무게는 {} kg 이네요.".format(age, height, weight))
print("뜬금없지만, 태양의 각지름은 {}입니다.".format('''32\'10"'''))
위의 스크립트를 터미널에서 python ex12.py
를 입력하면 아래와 같은 결과 값이 출력된다.
매개변수, 풀기(Unpack), 변수¶
import
스크립트에서 필요한 기능만 가져다 쓰는 방법
사용할 모듈을 미리 적도록 함.
필요한 것만 가져다쓰니 메모리도 작게 유지하며, 코드 리뷰시에도 가독성이 증가함
In [5]:
# -*- coding: utf-8 -*-
from sys import argv
argv
Out[5]:
- 위 실행결과
argv'는 3개의 실행인자를 갖고 있다.
argv`- 실행인자 변수(argument variable)
- 스크립트를 실행할 때 전달했던 실행인자가 담겨 있음.
unpack
실행인자 전체를 한 변수에 담는 대신 코드로 다루기 편하도록 각각 나누어 대입하는 것을 가리키는 용어
In [6]:
script, first, second = argv
print("스크립트 이름", script)
print("첫 번째 변수:", first)
print("두 번째 변수:", second)
ex13.py
스크립트를 아래와 같이 만들자.¶
In [ ]:
# -*- coding: utf-8 -*-
from sys import argv
script, first, second, third = argv
print("스크립트 이름:", script)
print("첫 번째 변수:", first)
print("두 번째 변수:", second)
print("세 번째 변수:", third)
argv
에 할당한 실행인자 만큼 입력을 시켜주면 된다.python ex13 이것 저것 그것
- 실행인자의 개수를 똑같이 넣어 주어야 한다.
raw_input
과argv
를 결합하여 좀 더 재밌는 결과물을 만들 수 있다.
raw_input()
과 argv
의 차이점¶
raw_input()
스크립트를 실행하는 동안 키보드로 입력을 받으려면
raw_input()
argv
커맨드 라인에서 입력을 한다면
argv