No older revisions available
No older revisions available
1. 02 Python Seminar ¶
- 02 학번 후배들에게 언어의 기초. 어떻게 생각하면 C 보다는 기초를 잡기는 더 쉽고 더 친숙하게 언어를 배울수 있다는 취지하에 선택
- Class 개념 까지는 들어가지 않을 예정 .. 아직까지는 함수 개념 잡기가 바쁠꺼라는 생각이 듬
- 자료형, 연산자 , 기본문법 , 함수 , 모듈을 중점적으로 다룰 예정임
- 예를 어떻게 보여줄까가 고민됨 (어떻게들 할까요 ?)
2. 강사 및 일정 ¶
- 강사 = 00 이봐라
- 일정 = 확실히 정해지지 않음
- 그들이 언어 문법에 어려움을 느끼지 않았으면 좋겠다는 바램
- 아 더도 말고 10명 이상만 세미나에 왔으면 하는 바램
- 내가 되도록이면 쉽게 후배들에게 가르쳐줄수 있었음 하는 바램
Who is "내" here? - 봐라용
- 마지막으로 후배들과 같이 파이썬 스터디를 할수 있기를 바라는 바램
4. Related Document or book ¶
- 대부분의 정보는 Learning Python 에서 발최 .. 그책이 가장 쉬울꺼 같습니다.
6.1. 파이썬은 무었인가? ¶
- 가장 정확하게 말하자면 객체 지향 스크립 언어이다. (see also Ousterhout's IEEE Computer article Scripting: Higher Level Programming for the 21st Century at http://home.pacbell.net/ouster/scripting.html )
- 사용하기 쉽고 , 배우기 쉬우며 여러 방향으로 이용할수 있는 언어이다.
- GUI , 시스템 유틸리티 , AI , 인터넷 스크립팅 등에 사용할수 있는 언어이다.
- C, C++, Java 에 비해 상당히 쉬운 문법 구조를 가지고 있다
- (RCM이 차세대 언어의 특징으로 꼽는) 동적자료형 객체지향 언어
see also
http://fallin.lv/PythonRumors
6.2. 파이썬이 사용된 예 ¶
- Red Hat의 리눅스 인스톨러인 아나콘다는 파이썬으로 짜여져 있다
- Infoseek 이란 포탈 싸이트는 일부 검색엔진을 파이썬 기반으로 사용한다
- NASA 는 임무 제어 시스템에 파이썬을 사용한다
- Industrial Light and Magic 사는 파이썬을 사용하여 광고용 에니메이션을 제작한다
- 이 위키페이지는 파이썬을 이용한 cgi 로 만들어졌다
- 대화식 명령행이다
C 나 C++ 은 소스를 한꺼번에 다 치고서 나중에 "컴파일" 하는식이지만 Python 의 경우 자신이 쓰는 라인마다 읽혀들어간다.
- 모듈 파일 실행이다
모듈이란 C 나 C++ 의 header 파일 처럼 각각의 명령어를 닮고있는 것의 집합이다.
- 모든 운영체체 독립적이다
자바와 같이 VM 머신상에서 돌아가는 이론이므로 운영체제 독립적이다.
6.4. C 와 C++ 과 Java 와 Python 의 간단한 소스 비교 ¶
6.4.1. Hello World for C ¶
~cpp
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
6.4.2. Hello World for C++ ¶
~cpp
#include <iostream.h>
int main()
{
cout << "Hello World\n" ;
return 0;
}
6.4.3. Hello World for Java ¶
~cpp
public class HelloWorldExample
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
6.4.5. Quick Sort in Python ¶
~cpp
def qsort(aList):
if not aList:
return []
ltList=[y for y in aList[1:] if y<aList[0]]
gtList=[y for y in aList[1:] if y>=aList[0]]
return qsort(ltList)+[aList[0]]+qsort(gtList)
6.5.1. 파이썬 프로그램은 모듈(module), 문(statement), 그리고 객체(object) 로 구성된다. ¶
~cpp 1. 프로그램은 모듈로 구성되어 있다.
2. 모듈은 문을 포함한다.
3. 문은 객체를 생성하고 처리한다.
- 파이썬은 내장 자료형을 기본으로 한다.
'' 기존 C 나 C++ 의 경우는 어떠한 변수를 지정할떄 타입을 꼭 지정해 줘야했다 그 예로 int 나 char 이 있다 하지만 파이썬의 경우는
자체적으로 자료형을 지원해서 나오므로 어떠한 변수형인지 지정을 해주지 않아도 된다 ''
~cpp
수치형 3.1415, 1234 , 999L
문자열 'spam', "guido's"
리스트 [1,[2, 'three'],4]
사전 {'food':'spam','taste':'yum'}
튜플 (1,'spam',4,'U')
파일 text=open('eggs', 'r').read()
~cpp
1234, -25,0 일반정수 이며 C의 경우 int 에 해당한다.
9999999999999L Long 형 정수 이다.. long 형의 정수에 대해서는 C 의 long int 와는 다르게 정수뒤에 "L" 만 붙이면 된다.
1.23, 3E210 부동소수점이며 C의 경우 double 에 해당한다.
0177, 0x9ff 8진수, 16진수
~cpp
s1 = '' 빈 문자열
s2 = "spams" 이중 인용부호
block = """...""" 삼중 인용부호
s1+s2 연결
s2*3 반복
s2[i] 인덱스
s2[1:j] 슬라이스
len(s2) 길이
for x in s2 반복
- 파이썬의 가장 유연한 자료형이므로 객체 자료의 순서를 갖는 집합이다.
- 객체 간의 순서를 가지게 된다(index 번호를 가진다)
~cpp
L1 = [] 빈리스트
L2 = [0,1,2,3] 네 개의 항목: index 는 0 ~ 3 임
- 리스트와 비슷하나 리스트와는 다르게 객체 간의 순서를 가지지 않는 객체들의 집합이다
~cpp
d1 = {} 빈사전
d2 = { 'spam':2, 'eggs':3 } 2개의 값을 가지는 사전
d3 = { 'food' : { 'ham':1, 'egg':2 } } 내포
- 리스트와 같은 방식으로 동작하지만 객체의 내용을 바꿀수 없다.
~cpp
() 빈 튜플
t1 = (0,) 한 개의 항목 튜플
t2 = (0,1,2,3) 네 개의 항목 튜플
~cpp
호출 함수 실행 stdout.write("spam, ham.toast\n")
출력 객체 출력 print "THe killer", joke
If/elif/else 선택적 수행 if "python" in text:print text
For/else 시퀀스 반복 for x in mylist: print x
While/else 일반적인 루프 while1:print "hello"
Pass 아무일도 하지 않음 while1:pass
Break,Countinue 루프 점프 while1:if not line: break
Import, From 모듈 접근 import sys; from sys import stdin
Def, Return 함수 만들기 def f(a,b,c=1, *d): return a+b+c+d[0]
Class 객체 만들기 class subclass: staticData = []
Global 네임 스페이스 def function(): global x,y; x = 'new'
Del 겍체 삭제 def data[k]; del data[i:j]; del obj.attr
~cpp
호출 myfunc("spam, ham, toast\n")
def, return def adder(a,b,c=1, *d): return a+b+c+d[0]
global def function(): global x,y; x = 'new'