Java + Python = Jython

Similar documents
Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap06-2pointer.ppt

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

OCW_C언어 기초

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - chap06-1Array.ppt

쉽게

PowerPoint Presentation

C 프로그램의 기본

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

OCW_C언어 기초

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

PowerPoint Presentation

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Java7.pptx

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

문서의 제목 나눔고딕B, 54pt

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

JDK이클립스

Microsoft PowerPoint - chap-03.pptx

JVM 메모리구조

Microsoft PowerPoint - C++ 5 .pptx

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint UNIX Shell.ppt

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

TEST BANK & SOLUTION

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

PowerPoint Presentation

Microsoft PowerPoint - chap01-C언어개요.pptx

PowerPoint 프레젠테이션

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint UNIX Shell.pptx

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - src.doc


5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

17장 클래스와 메소드

tiawPlot ac 사용방법

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

JAVA PROGRAMMING 실습 02. 표준 입출력

11장 포인터

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

PowerPoint Template

untitled

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

4S 1차년도 평가 발표자료

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

금오공대 컴퓨터공학전공 강의자료

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

한국에너지기술연구원 통합정보시스템설치방법설명서 한국에너지기술연구원 지식정보실 - 1 -

SIGIL 완벽입문

Microsoft PowerPoint - chap08-1 [호환 모드]

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

PowerPoint Presentation

윈도우시스템프로그래밍

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

윈도우즈프로그래밍(1)

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

JUNIT 실습및발표

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

슬라이드 1

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - e pptx

C 언어 프로그래밊 과제 풀이

컴파일러

C++ Programming

C++ Programming

PowerPoint Presentation

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

파워포인트

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

슬라이드 1

Transcription:

Java + Python = Jython ( 피어슨에듀케이션출판사) 1. Jython 소개 본글은저자의동의없이개인적인목적이외에상업적인목적으로사용하실수없습니다. 학교본수업이외에교육체강의자료로사용하는경우에는출처를밝히셔야합니다. 또한인터넷및통신상에저자의동의없이글을공개할수없습니다. 1.1 Python 소개 Python( 파이썬) 은 C/C++/Java와같은일반프로그래밍언어를배운사람들에게는조금괴상한언어처럼보인다. 그러나파이썬은상당히재미있고, 편리한언어이다. 우선파이썬은스크립트언어이기때문에변수를선언할필요없이사용할수있다. 따라서, 기존 C/C++/Java 등의언어에서처럼변수의자료형을미리선언하지않고, 필요한경우에변수의이름에값을할당하는것만으로충분하다. 두번째특징은파이썬이리스트 (list), 튜플(tuple), 사전(dictionary) 등의고차원적인자료구조를기본적으로제공한다는것이다. 만약다른언어를사용한다면, 프로그래머가작성해야할내용들을파이썬은기본적으로제공하기때문에복잡한자료구조를보다쉽게사용할수있다. 세번째특징으로파이썬은다른언어와쉽게결합될수있다는것이다. 파이썬은 C, C++, Tcl/Tk 등의언어와결합되어서사용될수있다. 네번째특징으로파이썬은인터프리터방식으로실행된다. 즉, 프로그램을작성하면서즉시실행할수있으며, 프로그램을컴파일하는과정이필요없다. 파이썬에관련된모든소프트웨어와문서및튜토리얼들은파이썬홈페이지 (http://python.org/) 에서무료로다운로드받을수있다. 다음그림은파이썬홈페이지의모습이다. -1-

Java + Python = Jython ( 피어슨에듀케이션출판사) 그림 2.Python 홈페이지 파이썬홈페이지에있는파이썬은기본적인기능들만제공하기때문에유용한모듈이나툴들이부족한편이다. 액티브스테이트의파이썬패키지는기본적인기능이외에여러가지유용한모듈과툴들을포함해서배포하고있다. 보다자세한사항은액티브스테이트 (http://activestate.com/) 홈페이지를참조하라. 그림 3. Activestate 홈페이지 국내에도파이썬사용자그룹이만들어져있으며, 이그룹에서는각종세미나개최등을통해활발한활동을하고있다. 다음그림은국내파이썬사용자그룹의홈페이지 (http://python.or.kr/) 이다. 국내사이트는파이썬에관련된한글문서들을많이보유하고있다. -2-

Java + Python = Jython ( 피어슨에듀케이션출판사) 그림 4. 한국 Python 사용자그룹홈페이지 자바혹은 C++ 개발자는 Bruce Eckel 의 "Thinking in Java" 혹은 "Thinking in C++" 를기억할것이다. Bruce Eckel 은인터넷(http://www.mindview.net/Books/TIPython) 에 "Thinking in Python" 의초기버전을공개하고있다. 이책은파이썬의기본적인사항을알고있는독자를위해서개발되고있다. 그림 5. Thinking in Python 파이썬은많은라이브러리들을제공하고있다. 각라이브러리에대한세부적인사항은 http://www.python.org/doc/current/lib/lib.html 사이트에서찾을수있다. 이사이트는각라이브러리에대한설명은물론간단한예제들을제공하고있다. -3-

Java + Python = Jython ( 피어슨에듀케이션출판사) 그림 6.Pythong 라이브러리 참고서적: 파이썬참고서적국내외로많은파이썬책들이소개되었다. 다음과같은책들을추천한다. 파이썬 ( 이강성저) -프리렉출판사 코어파이썬프로그래밍 ( 백종현역) - 피어슨에듀케이션 Python Cookbook (Alex 편집) - Oreilly 1.2 Jython 소개 Jython 은자바언어를이용해서개발된파이썬이다. 따라서 Jython 을이용하면, Python을별도로설치하지않고도파이썬프로그램을작성할수있다. 다만, Python과 Jython의차이점은자바언어와결합부분이다. Jython은자바언어를이용해서개발되었기때문에파이썬프로그램에서자바로작성된라이브러리들을사용할수있다. 또한역으로자바프로그램에서도파이썬프로그램을사용할수있다. 이러한부분들을제외하면, Jython과 Python 은모두파이썬문법을사용한다는의미에서동일하다고볼수있다. 참고: 파이썬과자이썬자이썬(Jython) 은자바언어로만들어진파이썬이기때문에파이썬의문법을따른다. 다만, 자바언어와결합시에 CPython(C 언어로구현된파이썬) 과다르게사용된다. 책에서는 CPython과 Jython의공통적인내용을다루는경우에도용어의일관성을유지하기위해서자이썬(Jython) 이라는용어를사용하기로한다. 1.2.1 J2SDK 설치 Jython은자바언어를이용해서만들었기때문에자바를실행시키기위한 J2SDK(Java 2 Standard Development Kit) 를설치하여야한다. 자바사이트(http://java.sun.com/j2se/) 에 -4-

Java + Python = Jython ( 피어슨에듀케이션출판사) 서가장최근버전인 J2SDK 1.4 를다운로드받아서설치하도록하자. J2SDK 1.4를설치하면다음과같이 C: j2sdk1.4.0 디렉토리가생기면서 J2SDK 가설치된다. 앞으로 <J2SDK> 혹은 <JDK> 는 J2SDK 가설치된디렉토리( 예: C: j2sdk1.4.0) 를의미한다. 그림 7.J2SDK 설치디렉토리 J2SDK를설치하면 C: Program Files Java 디렉토리에도 JRE(Java Runtime Environment) 가설치된다. JRE는자바를실행시킬수있는최소한의명령어와라이브러리들로구성되어있다. 다음그림은 JRE 가설치된디렉토리모습을보여준다. 그림 8.JRE 설치디렉토리 J2SDK 를설치하면, 기본적으로 J2SDK 를사용하기위한환경변수들을설정해주어야한다. 윈도우 2000과 NT 에서환경변수를설정하기위해서는 [ 시작 -> 설정 -> 제어판 -> 시 -5-

스템] 을선택한다. 시스템등록정보에서는 [ 고급 -> 환경변수] 를선택한다. 그림 9. 시스템등록정보 환경변수버튼을클릭하면, 다음그림과같이환경변수를설정할수있는창이나타난다. 이창에서 " 시스템변수(S)" 부분의 " 새로만들기(W)..." 버튼을클릭한다. 그림 10. 환경변수 시스템변수를입력할수있는새로운창이나타나면, 다음과같이변수이름과변수값을입력한다. 입력할변수이름과값은표 1 에서찾아볼수있다. 그림 11. 환경변수등록 -6-

Path 환경변수는이미지정되어있기때문에 " 시스템변수(S)" 에서변수이름이 Path인항을찾아서더블클릭하면, 다음그림과같이환경변수를변경할수있는창이나타난다. 이때 " 변수값(V)" 의처음부분에 C: j2sdk1.4.0 bin; 를입력한다. 그림 12. 환경변수변경 다음표는 J2SDK 를설치한다음에설정해야하는환경변수의이름과값들이다. JAVA_HOME PATH 환경변수이름 C: j2sdk1.4.0 환경변수값 C: j2sdk1.4.0 bin; 표2. 설정할환경변수 1.2.2 Jython 설치 Jython을 http://www.jython.org/download.html 사이트에서 jython-21.class 파일을다운로드받는다. jython-21.class 파일이저장되어있는디렉토리에서다음과같은명령어를이용해서 Jython 을설치한다. 예:Jython설치명령어 C: > java -cp. jython-21 Jython 을설치하면, 다음과같은창이나타나면서프로그램이설치된다. Jython을 C: jython-2.1 디렉토리에설치하도록하자. -7-

그림 13.Jython2.1 설치 Jython이설치된다음에 C: jython-2.1 디렉토리의 jython.jar 파일을 <J2SDK> jre lib ext 디렉토리에복사한다. Jython을설치한다음에 PATH 환경변수에 Jython 의디렉토리를추가할필요가있다. J2SDK 에서환경변수를설정하는것과동일한방법으로 [ 시작 -> 설정 -> 제어판 -> 시 스템] 을선택한다. 시스템등록정보에서는 [ 고급 -> 환경변수] 를선택한다. " 시스템변수 (S)" 에서변수이름이 Path 인항을찾아서더블클릭하면, 다음그림과같이환경변수를 변경할수있는창이나타난다. 이때 " 변수값(V)" 부분에 C: j2sdk1.4.0 bin; 다음에 C: jython-2.1; 를추가한다. 그림 14.PATH 환경변수변경 Jython을시작하기위해서는 C: jython-2.1 디렉토리의 jython.bat 파일을더블클릭해서프로그램을실행시킨다. 배치파일을실행시키면, 다음그림과같은화면이나타나면서 Jython 명령어입력을기다린다. -8-

그림 15.Jython 실행 Jython 은인터프리터방식으로실행되기때문에명령어를입력하면, 즉시실행하게된다. 우선간단하게 "Hello World" 메시지를출력하도록해보자. 창에서 >>> 다음부분에다음과같은명령어를입력한다. 예제: "Hello World" print "Hello World" 메시지출력하기 명령어를입력하면, 다음그림과같이 "Hello World" 메시지가출력된다. 이예제에서알 수있듯이문자열을출력하기위해서는 print 명령어를이용하고, 문자열주변에는따옴표 (") 를사용한다. 그림 16.print문장실행 -9-

Jython을종료하기위해서는 Control과 Z 키를동시에누른다음에엔터키를입력한다. 유 닉스와리눅스사용자는 Control과 D 키를동시에입력한다. 다음그림은 Jython을종료하 는것을보여준다. 그림 17.Jython 종료 참고: 예와예제책에서프로그램코드는 " 예제" 와 " 예" 라는제목을붙여서기술한다. " 예제" 라고붙인내용은그대로실행해볼수있도록만들어진것이다. 그러나, " 예" 라고붙인코드는프로그램의사용방법만보여준것이고, 약간의추가적인내용을붙여야만실행되는코드이다. 1.3 프로그램작성하기 1.3.1 수식계산 자이썬프로그램은명령어창의인터프리터를이용해서즉시실행해보면서개발할수도있고, 편집기를이용해서자이썬프로그램을파일에저장한다음에실행시킬수도있다. 파일로작성하는경우에파일의확장자는.py 로끝난다. 우선 jython.bat 파일을실행시켜서, 간단한프로그램들을작성해보도록하자. jython 명령 어창에서다음예에있는내용들을실행시켜보도록하자. 입력되는명령어들은즉시실행 되고, 결과값을출력하게된다. 계산된내용은 print 명령어가없어도자동적으로출력된 다. 예제: 숫자계산 -10-

>>> 2 + 2 4 >>> 3 / 2 # 정수연산 1 >>> 3.0 / 2.0 # 실수연산 1.5 >>> 5 % 3 # 나머지연산 2 >>> 5.0 % 3.0 # 나머지연산 2.0 다음그림은 jython 명령어창에서예제내용을실행시키는화면이다. 그림 18. 수식계산 자이썬에서 # 문자는주석을만들기위해서사용된다. 따라서, # 문자로시작되는곳부터줄의끝까지는주석에해당된다. 3 / 2 연산과 3.0 / 2.0 연산의결과가다른것에주의하라. 3 / 2 은정수연산이기때문에결과값이정수로나타난다. 반면에 3.0 / 2.0은소수점을포함하기때문에실수연산으로처리된다. 실수연산에서는결과값이실수형으로나타난다.% 연산자는나누기의나머지값을리턴한다. 참고: 주석자이썬은 # 문자다음부터그줄의끝까지주석으로인식한다. 자이썬은다른언어와는달리여러줄에걸쳐있는주석은제공하지않는다. 문자주위에따옴표가있는경우에는이것은문자열로취급된다. 계산이수행되지않는다. Python과 Jython 은한글도지원한다. 문자열에포함된계산식은 예제: 숫자와문자열 -11-

>>> "2+2" # 문자열 '2+2' >>> print 2+2 # 숫자계산 4 >>> print "2+2" # 문자열 2+2 >>> print " 한글" # 한글도사용할수있다. 한글 1.3.2 변수사용 파이썬에서는변수를선언하지않고사용한다. 따라서, 변수에자료형을기술할필요도없으며, 필요한경우에변수에값을할당함으로써사용할수있다. 자이썬에서변수는값을할당하는순간에생성된다. 변수는또한사용되지않는경우에는가비지콜렉터에의해자동적으로메모리에서삭제된다. 다음예제는변수를사용해서계산을수행하는방법을보여준다. 예제: 변수사용 >>> x = 4 >>> x * 4 16 >>> print x 4 자이썬은다른언어와는달리여러개의값을여러개의변수에값을할당할수있다. 예제를살펴보자. 다음 예제: 변수에값할당 >>> x, y, z = 1, 2, 3 # 변수 x, y, z에각각 1, 2, 3 값을할당한다. >>> print x 1 >>> print y 2 >>> print z 3 2 개이상의변수에서값을서로교환하는경우를생각해보자. 대부분의언어에서변수들끼리값을교환하기위해서는임시변수를사용해야한다. 예를들어, 변수 x와 y의값을교환하기위해서는다음예와같이임시변수를사용해야한다. -12-

예:x와 y값교환 -임시변수를사용하는방법 temp = x x=y y=temp 그러나, 자이썬은보다간단한방법으로변수들사이에서값을교환할수있는방법을제공한다. 즉, 다음예와같이여러개의변수에값을할당하는것과동일한방법으로값을교환할수있다. 예:x와 y값교환 -임시변수를사용하지않는방법 x, y = y, x # y값을 x 에할당하고, x값을 y 에할당한다. 실제로 a, b, c, d 의네개변수에값들할당하고, 이변수의값들을교환해보도록하자. 예제: 값교환 >>> a = 1 >>> b = 2 >>> c = 3 >>> d = 4 >>>printa,b,c,d # 변수a,b,c,d 의값을출력한다. 1 2 3 4 >>> a, b, c, d = d, c, b, a # a, b, c, d 의값을교환한다. >>>printa,b,c,d # 변수a,b,c,d 의값을출력한다. 4 3 2 1 참고: 여러줄에걸쳐사용할때파이썬은인터랙티브하게실행될때사용자가입력하는각줄을읽고, 실행하게된다. 만약 문장을한줄에입력하기에는너무긴경우에는줄의끝에 문자를입력하고, 다음줄을 계속해서사용할수있다. 또다른방법은괄호를이용하는방법이다. 첫번째줄에서여는 괄호를사용하고, 다음줄에서괄호를닫는경우에여러줄을사용할수있다. 다음예제는 CPython 의명령어창에서실행된예제이다. 예제:CPython의경우 >>> a = 2 + 3... + 4 >>> print a 9 >>> b = ( 2 + 3... + 4 + 5) >>> print b 14-13-

참고: 자이썬에서여러줄자이썬의명령어창은 문자혹은괄호를이용해서여러줄을사용하는기능을제공하지못하고있다. 그러나, 프로그램을파일에저장한경우에는 문자를사용해서여러줄에걸친문장을작성할수있다. 1.3.3 파일에저장된프로그램 자이썬프로그램은파일에저장해서실행시키는것도가능하다. 이때자이썬프로그램을포 함한파일은확장자가.py 이어야한다. 다음예제는간단한수식을계산하는자이썬프로 그램이다. 예제 : hello.py 1 print "Hello World" 2 x = 4 3 y = 5 4 z = x * y 5 print z 저장된자이썬프로그램은다음과같은명령어를이용해서실행시킬수있다. 결과 C: > jython Hello World 20 hello.py 파일에저장된자이썬프로그램을실행시키면서인터랙티브하게실행하기위해서는 -i 옵션을사용한다. 즉, 다음예와같이 -i 옵션을이용하면, 파일에저장된자이썬프로그램을실행하고, 계속다른프로그램들을인터랙티브하게실행할수있다. 예제:-i옵션 C: > jython -i hello.py Hello World 20 >>> print "abc" abc 1.3.4 콘솔입력 -14-

자이썬은콘솔에서값을입력받기위해서 raw_input() 함수와 input() 이라는함수를이용한다. raw_input() 함수를이용해서읽은값은문자열타입이며, 숫자로변환하기위해서는 int(), float() 등과같은함수를이용하여야한다. input() 함수는문자열을읽기위해서는입력시에따옴표를사용하여야한다. 다음예제는사람이름을입력받아서출력하는프로그램이다. 이예제에서는 input() 함수를사용한다. raw_input() 함수로한글데이터를읽을때는한글이깨지는문제때문이다. 예제 : greeting.py 1 name = input(" 이름을입력해주세요 : ") 2 print " 안녕하세요,", name, " 님" 설명 1 name = input(" 이름을입력해주세요 : ") input() 은콘솔( 키보드) 에서입력받는내용을읽기위한함수이다. 읽은내용은 name 변수에할당한다.input() 함수의매개변수로사용되는문자열은프롬프트와같은역할을한다. 2 print " 안녕하세요,", name, " 님" 여러개의문자열을출력할때는컴마(,) 문자를이용한다. input() 함수를이용하는경우에문자열을입력할때는문자열앞뒤로인용부호(") 를붙인다. 결과 C: > jython greeting.py 이름을입력해주세요 : " 홍길동" 안녕하세요, 홍길동님 print 문은콘솔로데이터를출력할수있을뿐만아니라, 파일에데이터를저장할수있는방법도제공한다. print 문은 >> 문자와같이사용해서파일에내용을출력할수있는방법을제공한다. 이때 print 문은다음과같은형태로사용한다. 형태:print문 print [ >> file-object, ]expression,... 다음예제는 print 문을이용해서파일에내용을저장하는프로그램이다. 예제:print를이용해서파일에저장하기 >>> f = open('hello.txt', 'w') # hello.txt 파일을연다. >>> print >> f, ' 안녕하세요' # 문자열을파일에출력한다. -15-

>>> print >> f, '2+5*3 = ', 2+5*3 # 문자열과계산결과를파일에출력한다. >>> f.close() # 파일을닫는다. more 명령어를이용해서생성된파일을열어보면다음과같은내용들이있는것을확인할수있다. C: >more hello.txt 안녕하세요 2+5*3 = 17 1.3.5 자바코드실행 자이썬은자바에서제공하는클래스들을사용할수있다. 다음예제는자이썬에서자바의 AWT 를이용해서프레임창을만들고, 버튼을프레임에붙이는프로그램이다. 예제: 자바객체사용 >>> import java.awt # java.awt 패키지를임포트한다. >>> f = java.awt.frame(" 윈도우") # Frame 을생성한다. >>> f.setsize(400, 300) # 프레임의크기를지정한다. >>> f.setvisible(1) # 프레밍을화면에보이게한다. >>> b = java.awt.button("ok") # 버튼객체를생성한다. >>> f.add("south", b) # 버튼을프레임에붙인다. java.awt.button[button0,0,0,0x0,invalid,label=ok] >>> f.validate() # 프레임에버튼이보이도록레이아웃을조정한다. 결과 그림 19. 자바프레임 앞의예제에서볼수있듯이, 자이썬은자바클래스들을자유롭게접근해서사용할수있으며, 자바프로그램을동적으로실행할수있는장점을가지고있다. -16-