함수
함수 란?

- 함수는 파이썬에서 기본으로 제공하는 내장함수와 사용자가 직접 선언하는 사용자 함수가 있다.

함수 사용 목적
함수 선언
- 함수는 def 키워드,함수명, : , 들여쓰기를 이용해서 선언한다.

함수 호출
- 함수명과 '()'를 이용해서 함수를 호출한다.

- 함수 내에서 또 다른 함수를 호출할 수 있다.

- pass를 이용해서 실행문을 생략할 수 있다.
def printTodayWeather():
pass
printTodayWeather()
인수과 매개변수
- 함수 호출 시 함수에 데이터를 전달할 수 있다.


- 매개변수 개수가 정해지지 않은 경우 * 를 이용한다.

- 함수가 return을 만나면 실행을 종료한다.

전역변수
- 함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다.

지역변수
- 함수 안에 선언된 변수로 함수 안에서만 사용 가능하다.

global 키워드
- global을 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다.

중첩함수


lambda 키워드
- lambda 키워드를 이용하면 함수 선언을 보다 간단하게 할 수 있다.

모듈
모듈 이란?
- 이미 만들어진 훌륭한 기능으로 사용자는 쉽게 사용할 수 있다.

모듈 구분
- 파이썬 모듈은 내부모듈, 외부모듈 그리고 사용자 모듈로 구분할 수 있다.

모듈 만들기
- 모듈은 특정 기능을 가지고 있는 파이썬 파일을 말한다.

import, from, as 키워드
- import 키워드를 이용해서 모듈을 임포트 한다.
- as 키워드를 이용해서 모듈 이름을 단출 시킬 수 있다.
- from ~ import 키워드를 이용해서 모듈의 특정 기능만 사용할 수 있다.
실행(메인)파일
- 전역변수 _name_을 이용한 실행파일 지정
- _name_에는 모듈 이름이 저장되거나 '_main_'이 저장된다.

패키지
- 패키지를 이용하면 관련 있는 모듈을 그룹으로 관리할 수 있다.

site-packages
- site-packages에 있는 모듈은 어디서나 사용할 수 있다.


- 자주 사용하는 모듈 : math모듈, random모듈, time모듈
객체지향 프로그래밍
객체지향 프로그래밍 이란 ?
- 객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성된다.

객체 만들기 (생성)

- 객체 사용의 장점: 코드 재사용, 모듈화에 좋다
클래스
- 클래스는 class 키워드와 속성(변수) 그리고 기능(함수)를 이용해서 만든다.


객체 속성 변경

객체와 메모리
- 변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다.

객체 복사에 대한 이해
- 얕은 복사란, 객체 주소를 복사하는 것으로 객체 자체가 복사되지 않는다.

- 깊은 복사란, 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다.

클래스 상속
- 상속이란, 클래스는 또 다른 클래스를 상속해서 내 것처럼 사용할 수 있다.

생성자
- 객체가 생성될 떄 생성자를 호출하면 __init__()가 자동 호출된다.


- super() : 상위 클래스의 속성을 초기화 하기 위해서 이용한다.

다중 상속

오버라이딩
- 하위 클래스에서 상위 클래스의 메서드를 재정의(override)한다.

추상클래스
- 상위 클래스에서 하위 클래스에 메서드 구현을 강요한다.

예외
예외 란 ?
- 예외란, 문법적인 문제는 없으나 실행 중 발생하는 에상하지 못한 문제이다.
예외 종류
- 예외 관련 클래스는 Exception 클래스를 상속한다.

예외 처리
- 예상하지 못한 예외가 프로그램 전체에 영향이 없도록 처리함.

- try ~ except : 예외 발생 예상 구문을 try ~ except로 감싼다.

- ~else : 예외가 발생하지 않은 경우 실행하는 구문이다.

- finally : 예외 발생과 상관없이 항상 실행한다.


- raise : raise 키워드를 이용하면 예외를 발생시킬수 있다.

사용자 예외 클래스
- Exception 클래스를 상속해서 사용자 예외 클래스를 만들 수 있다.

텍스트 파일
- open(), read(), write(), close()를 이용한 덱스트 파일 다루기.

- 파일 쓰기 : write() 함수를 이용한 파일에 문자열 쓰기

- 파일 읽기 : read() 함수를 이용한 파일 문자열 읽기

- 파일 모드 : 파일을 어떤 목적으로 open 할지 정한다.

- with ~ as : 파일 닫기(close)를 생략할 수 있다.

- writelines() : 리스트(list) 또는 튜플 데이터를 파일에 쓰기 위한 함수이다.
