산업공학과를위한 프로그래밍입문 (w/ 파이썬 ) PART I : 파이썬기초 가천대학교 산업경영공학과 최성철교수
파이썬시작하기
파이썬설치 ㆍ Python Software Foundation 에의해관리됨 ㆍ https://www.python.org 를통해다운로드가능 ㆍ최신버전은 3.4.1 이나 2.X 대버전도사용하는데불편은없음 ( 기존라이브러리사용여부에따라버전선택 )
자신의 OS 에맞는버전을선택하여설치
윈도우에설치할경우, Python IDLE 를사용하여 Pyhon 을시작가능
리눅스 CLI 환경 리눅스 : 핀란드의리누스토발즈가멀티유저, 멀티쓰레딩을지원하는유닉스를본따개발한개인 PC용운영체제 1인유저를고려하여만든윈도우계열과달리, 멀티유저를고려하여개발하였기때문에네트워크기능및서버로서의성능이매우뛰어남. 오늘날스마트폰 OS인안드로이드의모태 Command Line Interface (CLI) : Graphic User Interface (GUI) 와달리 Text를사용하여컴퓨터에명령을입력하는인터페이스체계
CLI in Windows Windows 에서도 CLI 환경의 명령입력가능시작 cmd 입력 ( 하단명령어입력란 )
CLI in Windows 주요명령어 명령어 수행내용 dir mkdir python 해당폴더의파일리스트보여주기 "python" 이라는이름으로새폴더만들기 copy abc.txt python\ "abc.txt" 파일을 "python" 폴더로복사 cd python "python" 폴더로이동 move abc.txt..\ "abc.txt" 파일을부모폴더로이동 ( 복사후삭제 ) cd.. del abc.txt rmdir python 부모폴더로이동 "abc.txt" 파일삭제 "python" 폴더삭제 참고 : http://goo.gl/nfdnxw
GUI 환경의명령들도 CLI 를통해호출가능 예 ) 작업관리자호출 : taskmgr
CLI 명령들의특징 PATH 가설정되어야어디서나작동가능 노트패드실행 : notepad 익스플로러실행 : "c:\program Files\Internet Explorer\iexplore" 실행시실행인자 (argument) 값사용가능 종료 : shutdown /s, 재시작 : shutdown /r 같은명령어지만인자값 ( 옵션또는인수 ) 에따라기능이다름 여러명령어를동시에또는자동화하여실행가능 예 ) autoexec.bat
리눅스 CLI 환경사용하기
시작하기전에 본강의에서는프로그래밍을작성환경을 8주까지리눅스 CLI 환경을한정함모든실습 / 숙제는리눅스서버를통해서이루어짐각리눅스접속계정및비밀번호는 Email을통해기공지하였으며, 본인만사용하여야함
Why Programming in LINUX 자유도다양한라이브러리를사용시설치 / 설정이용이함속도익숙해질경우매우빠른실행속도를제공간지리눅스를쓰고있으면왠지해커처럼멋져보임
리눅스서버접속하기 본강의에서는보안텔넷 (SSH) 방식을이용하여, 교내에설치된리눅스서버에접속함 SSH 접속을위하여 putty을사용다운로드 : http://goo.gl/miequk
1 4 3 2 5 접속순서 1 서버주소 2 Port: 22 3 접속방식 : SSH 4 세센명 : 본인지정 5 & 6: 저장및열기 6
2 접속시한글표시설정 1 창 변환 1 2 UTF-8 선택 앞장부분다시 4 세센명 : 본인지정 5 & 6: 저장및열기
계정과비밀번호입력후나오는화면
[ 참고 ] 리눅스기본명령어 Linux 명령어설명윈도우명령 / 이전에 ( ) / 다음에 ( ) 입력했던명령어 doskey cd x ( 또는 cd /x) 디렉토리 X 로가기 cd cd.. ( 또는 cd../ 또는 cd /..) 한디렉토리위로가기 cd.. x 다음 [tab] [tab] x 로시작하는모든명령어보기 - ls ( 또는 dir) 디렉토리내부보여주기 dir cat 터미널상의텍스트파일보기 type mv x y 파일 x 를파일 y 로바꾸거나옮기기 move cp x y 파일 x 를파일 y 로복사하기 copy rm x 파일지우기 del mkdir x 디렉토리만들기 md rmdir x 디렉토리지우기 rd rm -r x 디렉토리 x 를지우고하위도다지우기 deltree echo 어떤것을 echo 화면에인쇄한다. echo touch newfile newfile : 빈파일만생성됨 copy con ls > abc.txt lsb 의결과를 abc.txt 에입력 출처및참고 : http://goo.gl/zeaytf
[ 실습 ] 리눅스파일생성하기 Hello, Linux 라는텍스트가들어간 파일 abc.txt 를만들어보세요 출처및참고 : http://goo.gl/zeaytf
[ 실습 ] 리눅스파일생성하기 1. touch abc.txt 2. ls 명령으로생성확인 3. echo Hello, Linux > abc.txt 4. cat abc.txt 출처및참고 : http://goo.gl/zeaytf
Python 시작하기
파이썬시작하기 python 을입력하면파이썬 Shell 시작 exit() 또는 ctrl + D 를입력하면프로그램종료 실습서버에는 python2.6 과 python3.4.0 이 모두설치되어있음 python 입력시 2.6 버젼실행 python3.4 입력시 3.4 버젼실행
python or python3.4 입력, 파이썬실행
[ 실습 ] 파이썬프로그래밍해보기 >> print "Hello World!" #Hello World 라는글자를화면에표시하기 Hello World! >>> 293+4923 # 293 + 4923의결과값출력 5216 >>> 102/3 # 102 / 3의결과값을출력 34.0 출처및참고 : http://goo.gl/zeaytf
[ 실습 ] 파이썬프로그래밍해보기 파이썬은첫번째열부터명령어를입력해야함들여쓰기 (Indentation) 를프로그램문법으로체크 >>> 23+3 # 첫번째열부터입력할경우 26 >>> 23+2 # 두번째열부터입력할경우 File "<stdin>", line 1 # 에러발생!! 23+2 ^ IndentationError: unexpected indent
[ 실습 ] 산술연산하기 (1/2) >>> 4+5 # 덧셈 9 >>> 12-32 # 뺄셈 -20 >>> (4 + 5) * 6 # 덧셈 / 곱셉연산 54 >>> 3 /2 # 나눗셈 1.5 # 3.4 에서는소수점표시, 2.6 에서는몫만표시 >>> 3 // 2 # 몫을구하는연산 : // 1 >>> 9 % 5 # 나머지를구하는연산 : % 4 Source: 파이썬 3 바이블, 이강성
[ 실습 ] 산술연산하기 (2/2) >>> divmod(9,5) # 몫과나머지를둘다구함 (1, 4) >>> 2**10 # 지수연산 :** 2의 10승 1024 >>> a= 1+1j # 복소수연산 a에 1+i 를할당 >>> b= 1-1j # 복소수연산 b에 1-i 를할당 >>> a*b # (1+i) * (1-i) = 2 (x+y)(x-y) = x 2 y 2 (2+0j) Source: 파이썬 3 바이블, 이강성
[ 실습 ] 문자열연산하기 >>> a = 'This is a class # 작은따옴표로문자열나열 >>> b = "for PYTHON at Gachon # 큰따옴표로문자열나열 >>> a+ " " + b # 두문자열합치기 'This is a class for PYTHON at Gachon' >>> a.upper() # 대문자로 'THIS IS A CLASS' >>> a.lower() # 소문자로 'this is a class' Source: 파이썬 3 바이블, 이강성
리눅스프로그래밍환경의꽃 VIM 에디터사용하기
Vim 에디터란? 유닉스환경에서출발한 vi Editor(visual editor) 를모태로한텍스트편집기 (VI Improved) 처음엔다루기가어려우나익숙해질경우, 다양한사용자 Interface 를제공하여사용자의편의를지원함 스타또는 LOL 에서단축키를쓰면실력이느는것과같은이치참고사이트 : http://jangpd007.tistory.com/6
VIM 의실행 커서 비어있는라인 현재열 현재행 현재수정중인파일명
Vim 에디터의세가지 Mode 모드설명실행방법 Command Mode 입력은되지않은상태에서특정명령을실행할수있도록대기하는상태입력, 삭제, 이동등의명령을시행 - 어떤모드에서든 "ESC" 입력 Insert Mode 실제문서편집을위한모드로텍스트입력모드, 커서키로네비게이션 ( 왔다갔다 ) 를하고, 문자키로텍스트를입력 - 어떤모드에서든 "ESC" 입력후 i, I, a, A, o, O, R 진입 Last line Mode text 를찾거나파일을저장하는등의다양한명령등을내리는모드, 오피스계열제품에서 Alt 키를누르면나오면다양한명령을실행한다고생각하면된다 - 다른모드사용중 "ESC" 입력후 ":" 입력
명령어 이동명령 Command 모드에서아래키입력 명령어 실행내용 0 현재줄맨처음으로가기 $ 현재줄맨끝으로가기 gg G W 숫자 + 방향키숫자 + G 현재문서처음으로이동현재문서마지막으로이동현재커서의다음단어로이동해당숫자만큼지정한방향으로커서를이동 해당숫자에해당하는줄로이동
명령어 Insert( 입력 ) 모드실행 Command 모드에서아래키입력 명령어 실행내용 i a A o O 현재커서에서입력현재커서다음칸부터입력현재커서의맨마지막줄에입력현재커서밑줄에서입력현재커서윗줄에서입력
명령어 편집명령 Command 모드에서아래키입력 명령어 실행내용 dd 현재행삭제 d< 숫자 >d 현재행부터숫자로지정된줄만큼삭제 X 현재글자삭제 yy / yw 현재행복사 / 현재단어복사 y, 숫자, 방향키 현재행 + 방향키방향으로숫자만큼행복사 p / P 커서뒤에삽입 / 커서앞에삽입 u Undo
명령어 찾기 / 바꾸기명령 Command 모드에서아래키입력 명령어 실행내용 / 찾을문자 해당문자를검색 ex) / yesterday / or n or N 다음문자찾기 (N은역방향 ) :s/old/new old라는문자를 new로바꾸기 :s/old/new/g 현재줄에서 old라는문자를 new로바꾸기 :%s/old/new/g 현재문서에서 old라는문자를 new로바꾸기
명령어 파일명령 Last Line 모드에서아래키입력 명령어 실행내용 :w 현재파일저장 :wq 저장후종료 :q 종료 ( 저장상태에서만가능 ) :q! 저장없이종료! < 명령어 > 리눅스명령어실행 ex)! python
명령어 설정기능 Last Line 모드에서아래키입력 명령어 :set ts=4 :set nu :set ignorecase :set noignorecase 실행내용 Tab 키를눌렀을때이동하는거리가 4 로지정 행번호가뜨도록지정 대소문자구분실행 / 취소 이외에도 VIM 에디터는다양한기능이있으며, 필요시구글링을통해직접찾아보길권함
[ 실습 ] VIM 에디터실습 VIM 에디터를실행하여다음을대답하시오 1. yesterday.txt 파일열기 2. 32번째줄의첫자는? 3. yesterday 대문자 / 소문자개수는? 4. 행번호가뜨는명령어는? 5. Yesterday를모두 Today로바꾸기 출처및참고 : http://goo.gl/zeaytf
[ 실습 ] VIM 에디터실습 1. vi yesterday.txt 2. :32 3. :set noignorecase, /yesterday 4. :set nu 5. %s/yesterday/today/g 출처및참고 : http://goo.gl/zeaytf
My First Python Program
[ 실습 ] 파이썬프로그램만들기 아래의프로그램을 myfirstpython.py 파일로작성후실행하세요. print "I Love pizza!" print "pizza" * 5 print "yum" * 3 print "I'm full." [~@server ~]$ python myfirstpython.py I Love pizza! pizzapizzapizzapizzapizza yumyumyum I'm full. Source: 파이썬 3 바이블, 이강성