Page 16 -
P. 16

1
                       프로그램 1.1.2 명령 줄 인수의 이용 (useargument.py)
                          import sys
                          import stdio                                                                   프로그래밍 기초

                          stdio.write('Hi, ')
                          stdio.write(sys.argv[1])
                          stdio.writeln('. How are you?')


                       이 프로그램을 보면 명령 줄 인수를 이용해 프로그램의 작동을 어떻게 제어하는지 알 수 있다.
                       명령 줄 인수로 프로그램의 작동을 조절할 수 있다. 이 프로그램은 명령 줄 인수를 입력받고, 인
                       수를 이용해 메시지를 출력한다.


                        % python3 useargument.py Alice
                        Hi, Alice. How are you?
                        % python3 useargument.py Bob
                        Hi, Bob. How are you?
                        % python3 useargument.py Carol
                        Hi, Carol. How are you?


                     useargument.py에서 import  sys 문장은 sys 모듈에 정의된 기능을 사용하겠다는 것을 파이썬에
                     게 알려준다. sys 모듈 기능 중 argv는 명령 줄 인수 목록을 담고 있으며, 명령 줄에서 python3
                     useargument.py 다음에 전달한 공백으로 분리된 인수를 담고 있다. 자세한 메커니즘은 나중에 설명
                     한다(2.1절). 일단 지금은 명령 줄에서 프로그램명 다음에 전달한 첫 번째 인수가 sys.argv[1]에, 두

                     번째 인수가 sys.argv[2]에, 그리고 그 뒤의 인수들이 계속해서 argv에 들어 있다고 알아 두면 된다.
                     useargument.py와 마찬가지로 프로그램 안에서 사용한 sys.argv[1]이 명령 줄에 입력한 문자열을
                     나타낸다.
                     writeln() 외에 [프로그램 1.1.2]에서는 write() 함수를 호출한다. 이 함수는 writeln()과 같지만,

                     그저 문자열을 출력할 뿐 행은 바꾸지 않는다.
                     이 프로그램 역시 입력한 것을 그대로 출력하는 단순한 프로그램이라 얼핏 보기에는 그다지 흥미로
                     워 보이지 않지만, 곰곰이 생각해보면 수행할 작업을 제어하기 위해 사용자로부터 정보를 입력받아

                     응답하는 것도 프로그램의 기본 기능 중 하나임을 알 수 있을 것이다. useargument.py가 보여주는 간
                     단한 모델을 통해 파이썬의 기본 프로그래밍 메커니즘을 생각해볼 수 있을 뿐만 아니라, 흥미로운 다
                     양한 계산 문제를 모두 처리할 수 있다.
                     조금 더 개념적으로 생각해보면 useargument.py는 그저 하나의 문자열(인수)을 다른 문자열(터미널
                     에 출력되는 메시지)로 대응시키는 것일 뿐이라는 것을 알 수 있다. 이 개념을 이용하면 우리가 만드

                     는 파이썬 프로그램은 입력 문자열을 출력 문자열로 변환하는 일종의 블랙박스라고 생각할 수 있다.
                     이 모델은 간단할 뿐만 아니라 이론적으로는 그 어떠한 계산 작업도 완료할 수 있게 해주는 범용성을




                                                                                              025
   11   12   13   14   15   16   17   18   19   20   21