Python 소개 2013.07.30 중원. 귀도 반 로섬 (Guido Van Rossum) 1989 년 12 월 25 일 파이썬 창시 ㅎㅎ 님들, 크리스마스 때 뭐함 ? Monty Python’s Flying Circus.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
파이썬. Part 1. 파이썬이란 ? 2 파이썬이란 ? 파이썬은 –1990 년 네덜란드 암스테르담의 귀도 반 로섬 (Guido Van Rossum) 이 개발한 인터프리터 방 식의 언어 –BBC 방송국에서 방영한 ‘Monty Python’s Flying Circus’
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
Informatics Informatics – Programming 김진평 Python 개요 Python Download & Install.
Doxygen 으로 코드보기 신동진 신수호. 프로젝트 발주 ㅇㅇㅇ NoYea h 프로그래머 1 프로그래머 2.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Python(파이썬) 하늘소 20기 서 정인.
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 6. 형변환.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
정적 멤버 변수/정적 멤버 함수 - friend 함수/클래스 template
자바 5.0 프로그래밍.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
Lesson 7. 클래스와 메소드 - 1.
14. 예외처리.
공학컴퓨터프로그래밍 Python 염익준 교수.
자바 5.0 프로그래밍.
13. 연산자 오버로딩.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
제14장 예외처리와 템플릿 예외 처리의 개요를 학습한다. 예외 처리를 적용할 수 있다. 템플릿의 개념을 이해한다.
7장 인터페이스와 추상 클래스.
Method & library.
Lesson 4. 수식과 연산자.
Chapter 11 객체지향 프로그래밍의 기초 01 클래스 02 생성자 03 인스턴스 변수와 클래스 변수 예제 모음 요약
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
명품 C++ 9장 가상 함수와 추상 클래스.
Lesson 2. 기본 데이터형.
제 1장. C++ 시작하기.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
Power Java 제11장 상속.
10장 상속 Section 1 상속의 개요 Section 2 상속과 한정자 Section 3 상속과 생성자
12. 상속 : 고급.
객체기반 SW설계 팀활동지 4.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
데이터 동적 할당 Collection class.
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Lecture 04 객체지향 페러다임 Kwang-Man Ko
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
MIDP 네트워크 프로그래밍 ps lab 김윤경.
발표자 : 이지연 Programming Systems Lab.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
JSP Programming with a Workbook
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
자바 객체 지향 프로그래밍 Ps lab 김윤경.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
6 객체.
-제어문, 함수, 클래스- IS lab. 김건영 Python -제어문, 함수, 클래스- IS lab. 김건영
Presentation transcript:

Python 소개 중원

귀도 반 로섬 (Guido Van Rossum) 1989 년 12 월 25 일 파이썬 창시 ㅎㅎ 님들, 크리스마스 때 뭐함 ? Monty Python’s Flying Circus

파이썬의 특징 - 스크립트 언어 -Garbage Collection -dynamic typing - 엄청난 량의 라이브러리 - 쉬운 문법, 짧은 코드 원래 교육용으로 출발했다나 …

- 함수형, 객체지향 모두 지원 - 스크립트 언어인데, 바이트코드 배포도 된다. exe 파일 배포도 된다. -C++, C#, JAVA 대부분의 문법을 모두 지원 -C++, C#, JAVA 에선 불가능한 문법도 지원 - 언어 레벨에서 쓰레드도 지원

파이썬을 누가 쓰나요 ?

2013 년 세계 프로그래밍 언어 순위 Stack Overflow GitHub

일단 깔아보자. 2.7.x??? 3.3.x???

모 팀에서 Xcode 최신 버전 자동화 때문에 구글링해서 쓰는 소스 일부 딱, 걸렸음.

파이썬의 변수 int a; string str; int a[3] = {0,1,3}; a = 10 str = ‘MyName’ A = [0,1,3] 이런 것 안됨

x = 5 * 0.1 y = ‘helloWorld’ * 5 값을 넣는데 대해 유연 다른 형끼리는 알아서 캐스팅 된다. (common Sense..) x = [1,2,3] y = [4,x,6] z =[4, [1,2,3], 5]

편리한 인덱스 & 슬라이싱 x = ‘HelloWorld’ 뒤에서 3 번째 문자를 출력하시오 거꾸로 출력하시오 2 칸 띄워서 출력하시오

편리한 인덱스 & 슬라이싱 x = ‘HelloWorld’ 뒤에서 3 번째 문자를 출력하시오 Y = x[-3] 거꾸로 출력하시오 Y = x[:-1] 2 칸 띄워서 출력하시오 Y = x[::2]

파이썬의 제어문 제어문은 크게 딱 3 개 (if, for, while) switch => X 마찬가지 common sense 다만 다른 언어처럼 {,} 블록을 쓰지 않음. if a > 1 : print ‘big’ else : print ‘small’ 들여쓰기로 구분. 여러 칸, 탭 상관없이 칸만 맞으면 됨 파이썬이 원래 교육용으로 시작했다고 이야기했었나 ?

파이썬의 함수

함수도 들여쓰기랑 : 만 잘하면 됨. def add(a, b): return a+b 이런 것도 된다. def add(a, b): return a, b 이정도야 … >>print add([1,2,3],[4,5]): [1,2,3,4,5]

파이썬의 함수 또 이런 것도 된다. def foo(): def goo(): print ‘goo’ def boo(): print ‘boo’ goo() boo() 기본 인수도 물론 지원 def add(a, b=10): return a, b 가변 인수도 물론 지원 def add(a, *arg): return a, b 정의되지 않는 인수도 가능 def add(**kw): print kw => add(a=1,b=2)

파이썬의 함수 이것 또한 Common Sense.. def add(a,b) return a+b foo = add foo(1,2) 이런 건 뭐, 당연히 됨.

파이썬의 클래스 클래스는 좀 많이 달라요..

파이썬의 클래스 class g { private: int a; public: g(){}; } 마찬가지 이런 것 안됨. 그럼 이렇게 하면 될까 ? class S1: a = 1

파이썬의 클래스 클래스의 네임스페이스와 클래스 인스턴스의 네임 스페이스는 다른 영역 class S1: a = 1 x = S1() x.a = 10 print x.a => 10 print S1.a => 1 인스턴스 생성

파이썬의 클래스 클래스 인스턴스에 변수를 밖에서 넣어준다. class S1: pass x = S1() x.a = 10  x 인스턴스에 a 생성 x.b = 20  x 인스턴스에 b 생성 좀 이상하긴 하다

파이썬의 클래스 class S1: def __init__(self): self.a = 10 self.b = 20 print ‘__init__’ def __del__(self): print ‘__del__’ 대신 생성자에서 처리할 수 있음 self 는 this 인스턴스 소멸자 생성자

파이썬의 메소드 class S1: def set(self, v): self.value = v print self.value x = S1() x.set(5) 모든 메소드는 자기 인스턴스를 첫번째 인자로 받 는다.

파이썬의 클래스 상속 class Base: print ‘Base init’ def f(self): print ‘Base’ class Derived(Base): pass d = Derived() d.f() Base Derived Base2 Derived Base1 다중 상속도 가능

파이썬의 클래스 상속 다이아몬드 상속도 가능 Base2 Derived Base1 Base Base2 Derived Base1 Base object 에서 상속 받으면 탐색순서가 바뀜.

파이썬의 클래스 기타.. 특성상 모든 메소드는 가상함수임. 연산자, 인덱스, 슬라이딩 모두 오버로딩 가능 과연 파이썬에서 누가 클래스를 쓸까 ?

모 팀에서 Xcode 최신 버전 자동화 때문에 구글링해서 쓰는 소스 일부 쓴다

파이썬 특성 조금 더.. Built-in 타입과 유저 정의 타입 구분이 없고, 모두 접근 & 수정 가능 Built-in 타입을 상속받아 쓸 수 있음. (list,dict,tuple..) Constant 타입을 만들 수 없다. - c++ 의 const, Java 의 final 같은 기능 X C#/java 의 리플렉션 수준이 아니라 그냥 다 볼 수 있음 클래스에서 private, protected 같은 접근 제한이 모두 안될 것 같지만, 의외로 private 를 만들 순 있음. 하지만..

그리고 django 파이썬용 웹 프레임워크

그리고 django 파이썬용 웹 프레임워크 사실, 좀 비주류 …