728x90 빅데이터 프로그래밍/Python37 [Python] 13. [IO] IO(입출력), File 클래스 다루기, 파일 이동, 디렉토리 조작, 파일 목록, 파일 복사 01. IO(Input Output) Stream - 프로그램이 가지고 있는 또는 가지고 있지 않은 데이터를 외부(다른 프로그램)로 보내거나 가져오는 동작을 말합니다. - Program에서 출력 ---------------> 모니터, 디스크 장치, 네트워크, USB, Bluetooth, 출력 스트림, System File, Socket File - 키보드, 디스크 장치, 네트워크, USB, Bluetooth ---------------> Program, 입력, File, Socket File, 입력 스트림 - 입출력 Stream은 FIFO(First In First Out, 지하철 표를내고 들어가는 출입구와 비슷한 구조입니다.(Queue 구조) - 스트림은 단방향 구조입니다. 따라서 오로지 출발지와 목적.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 12. 예외처리(Excetption), try, except ~ else ~ finally 실습 01. 예외처리(Exception)1) 이클립스상에서 개발시에 Python script(클래스)가 안정적으로 컴파일된 후 운영중에 발생하는 에러를 "예외"라고 한다. 예외는 코드상에서 발생하는 에러하고는 다르며 컴파일시에는 예외가 발생하지 않음. 마치 손상된 USB를 읽어오는 프로그램이 있다면 USB는 인식이되나 읽어 올 수 없음으로 경고창이 발생하는 경우.예) 네트웍 장애, IO, DBMS 서버 다운, 저장 장치의 용량이 없는 경우. 2) 예외가 발생하면 프로그램이 메시지 출력후 종료되어 심각한 문제가 발생할 수 있으나 예외 처리를 하면, 예외가 발생되서 프로그램이 끝나는 것이아니라 나머지 루틴이 정상적으로 실행됨으로 안정적인 프로그램이됨. 3) try: 예외 발생 예상 코드 except Excepti.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 11. 상속(ingeritance), 부모클래스의 생성자호출, 생성자/메소드 오버로딩, 다중 상속 01. 상속(Ingeritance) - 부모 클래스의 메소드와 변수등이 자식 클래스로 자동으로 전달된다. - 클래스들이 공통적으로 사용하는 기능을 부모 클래스에 저장 한 후 상속받아 사용하면 개발 속도를 향상 시킬 수 있다. - 소스 재사용으로 인한 개발자의 개발 부담이 감소된다. - Python은 C++ 처럼 다중 상속을 지원한다.- 개발시에 상속을 권장하지 않는데 그 이유는 2개 이상의 클래스가 서로 결합되어 객체지향이라는 독립성을 위배하기 때문에 사용을 추천하지 않습니다. 예) 부모 클래스와 자식 클래스가 서로 관련되어 자식 클래스가 독립적으로기능을 실행할 수 없습니다. 소스 변경시 예상하지 못한 다른곳에서 에러 발생- 형식: class 자식 클래스(부모 클래스): class 자식 클래스(부모 클래.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 10. Class 선언, 클래스 멤버, 메소드, 인스턴스 멤버, 메소드의 실습, 생성자, 소멸자, 모듈 분리 01. 클래스(Class: 반, 학급, 그룹) - 데이터 표현 방법의 변화 .OOP 이전 시대: 문자 숫자 기반의 단순한 데이터 처리 예) String 성명, String, 기술력, String 프로젝트, int 경력, String 자격증, int salary, int tax C언어의 구조체는 데이터를 묶어서 처리 지원 .OOP 이후 시대: 의미 있는 데이터의 집합, 개발자가 새로운 데이터 타입을 생성하는 구조 예) 개발자(String 성명, String 기술력, String 프로젝트, int 경력, String 자격증) 노트북{String brand, float cpu, int hdd, float lcd, boolean wifi, boolean bluetooth} 리조트{String 객실, Date 입.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 09. 모듈과 패키지의 사용, import의 사용, Template 01. Template 1. Eclipse ▶ Window ▶ Preferences 2. utf-8 형식의 한글 인코딩 방식을 지정합니다. - Java, C언어처럼 시작할 main 함수가 없음을 파이썬이 실행시 '_name_' 시스템 변수의 값을 비교하여 '_main_'이면 블럭안의 코드를 실행합니다. - pass: 추후 블럭을 구현한다는 표시 ------------------------------------------------------------------------------------- # -*- coding: utf-8 -*- if __name__ == '__main__': pass --------------------------------------------------------------.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 08. 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값, 디버깅 01. 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값 - 함수는 1개이상의 명령어를 그룹으로 묶어 반복 처리가 가능합니다. - 데이터(변수)를 사칙연산(+, -, *, /, %)을 이용하여 처리하는 역할을 합니다. - 데이터를 입출력하는 경우 사용합니다. - 한번 만든 함수는 계속적으로 호출(재사용) 할 수 있습니다. - SW 컴포넌트의 가장 작은 단위라고 할 수 있습니다. - 함수는 소괄호 '()'를 선언해야합니다. - 함수로 전달하는 데이터를 Parameter, 전달받는 쪽을 Argument라고 부릅니다. - 파이썬은 Method Overroding을 지원하지 않습니다. 하지만 가변 인수로 어느정도 비슷한 기능을 구현 할 수 있습니다. - 형식: def 함수이름(인자1, 이자2...);.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 07. 제어문 - 반복문(while, for문), for 문 실습 01. 제어문 - 반복문 While, for 문 1. While문 - '참'일동안 실행합니다. - 조건을 만족하지 않으면 한번도 실행을 하지 않습니다. - 순환 횟수를 정확히 지정할 수 없을 경우 사용합니다. 1) 1씩 증가시키는 누적 알고리즘 su = su + 1 2) 1부터 5까지 출력 - 무한 루틴을 이용하는 경우: while(true){... - while문에 조건을 명시한 경우: while(index 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 06. 제어문 - 분기문(if) - 다양한 if문, if문 실습, Template 01. 제어문 - 분기문 if - 조건에 따라 판단을 하여 코드를 실행합니다. - 조건에 따라 분기를 할 수 있습니다. if 조건식: 참일 경우 실행 else: 거짓일 경우 실행 - 중괄호 블럭안은 경계를 위해 들여쓰기를 2칸(2~4칸)정도 해야합니다. - 가장 바깥쪽의 코드를 들여쓰기를 하지 않습니다. - 콜론 다음 라인부터 시작하는 실행코드는 들여쓰기 간격이 모두 동일해야합니다. 저장 위치: Eclipse Setting: name: control 1. if문의 기본 형태 - 참일 경우만 실행하는 단순 if문 - 참과 거짓일 경우 각각 다르게 실행되는 if문 - 여러개의 if조건을 나열하고 해당하는 조건에 참인 if문을 실행하고 if문 전체를 종료합니다. - if문은 if문을 포함할 수 있습니다. - .. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 05. 시퀀스 자료형 리스트의 실습, 리스트 선언, 리스트 연결, 리스트 크기, 멤버 체크, 문자열 포맷팅, Tuple, Dictionary의 선언 01. 리스트(List), 튜플(Tuple) - 자료를 나열하여 목록으로 처리 - 리스트(List)는 원본 값을 변경 할 수 있으나 튜플(tuple)은 값을 변경할 수 없으며 사용법이 비슷함.- 사전(Dictionary)은 키와 값의 구조를 제공(JAVA: Map) - 문자열의 시작 인덱스는 0부터 시작하며 - 인덱스는 문자열의 끝부터 -1을 시작으로 지정함. - [시작 인덱스: 마지막 인덱스]: 시작 index부터 마지막 index-1 부분까지 문자열 추출 - [: 마지막 인덱스]: 처음부터 마지막 index-1 부분까지 문자열 추출 - [시작 인덱스:] : 시작 index부터 마지막까지 문자열 추출- [::2]: step을 2로해서 슬라이싱. 1. list 실습 [출력 화면] index의 사용 ---.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 04. 시퀀스, 자료형 문자열의 실습, 문자열 선언, 슬라이싱, 연결, 반복, 문자열의 크기, 멤버체크, 문자열 포맷팅 1. 시퀀스 자료형의 공통 특성 1. 시퀀스 다루기 - mutable(가변) 시퀀스: list(*), bytes, bytearray - immutable(불변) 시퀀스: str(*), tuple(*), range - 인덱싱: 0부터 인덱스 시작 - 슬라이싱: 문자열의 분할 - 연결: '+'을 이용하여 문자열을 연결하여 새로운 시퀀스 자료 생성 - 반복: '*'를 이용하여 시퀀스 자료를 여러번 반복하여 새로운 시퀀스 자료 생성 - 멤버 체크: 'in'을 이용하여 특정 값이 시퀀스 자료로 속해 있는지 검사 - 크기 정보: len()함수를 이용하여 문자열의 크기나 개수를 산출 2. 문자열 포맷 - %s: 하나의 문자열 대응 - %c: 문자나 하나의 기호에 대응 - %f: 하나의 실수에 대응 - %d: 하나의 .. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 03. 컴파일, 파이썬 프로그램의 구조, 데이터 형(date type), 연산자(Operator), Library Reference 01. 컴파일 단계 - 컴퓨터의 구조: 현대의 Software는 대부분 프로그램을 메모리에 상주하여 실행하는 폰노이만 구조를 사용하고 있음. - 파일 확장자: py - 단계; Python 소스는 라인단위 변환기인 interpreter에 의하여 기계어로 바로 컴파일되어 실행됨.\ 02. 변수 - 숫자로 시작하면 안된다. - 파이썬 예약어는 사용 하지 못한다. - 대소문자를 구분한다. - 변수 선언시 데이터 타입을 선언하지 않는다.(Javascript와 동일) - 객체 기반이라 데이터 타입 변환이 자유롭다. - 의미 있는 변수명을 지정한다. - 특별한 경우가 아니면 변수의 숫자는 5이상 권장. 03. 데이터(자료) 형(date type) - 프로그램의 실행 흐름: 입력 기능 ▶ 처리 기능 ▶ 출력 기능 - .. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 02. Eclipse neon3 설치, PyDev 플러그인 설치 01. Eclipse Python 개발 환경 설정 - IBM의 Visual age for JAVA라는 툴의 소스를 공개하여 여러 업체와 협력하여 Eclipse 개발 툴 공동 프로젝트가 시작됨. - JAVA, JSP, XML, HTML5, JavaScript, CSS3, Spring, BigData, Python, Android등 SW개발 툴로 쓰임.- 편집 작업시 소스 문법 자동 검사, 자동 컴파일(변환), 소스 자동 생성등의 기능을 지원함. - 소스 작성시 문법을 외우지 않아도 개발 가능하도록 Assist List(사용 가능 요소 목록) 지원, 수동으로 호출하는 단축키는 Ctrl + Spacebar 입니다.1. eclipse 설치 - Eclipse Mars 2 버전은 에러가 발생하는 사용에는 지장이 없.. 빅데이터 프로그래밍/Python 2017. 8. 2. 이전 1 2 3 4 다음 728x90