함수 호출 시 함수에 데이터를 전달할 수 있다
인수와 매개변수 개수는 일치해야 한다.
인수의 갯수가 정해지지 않을때 * 를 이용해서 처리를 할 수있다
실습


함수 실행 결과 반환
(return 키워드를 이용하면 함수 실행 결과를 호출부로 반환 할 수 있다 )
함수가 return 을 만나면 실행을 종료한다.
실습1


전역 변수
함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다
지역 변수
함수 안에 선언된 변수로 함수 안에서만 사용 가능하다
global 키워드
global을 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다
실습1


실습 2


함수안에 또 다른 함수가 있는 형태이다
(내부 함수를 함수 밖에서 호출할 수 없다)
실습



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


모듈이란, 이미 만들어진 훌륭한 기능으로 사용자는 쉽게 사용할 수 있다
모듈은 특정기능을 가지고 있는 파이썬 파일을 말한다.
import 키워드를 이용해서 모듈을 임포트 한다
as 키워드를 이용해서 모듈 이름을 단축 시킬 수 있다

from~as 키워드를 이용해서 특정 기능만 사용할 수 있다

-name- 에는 모듈 이름이 저장되거나 '-main-' 이 저장된다
실습
(모듈)

실행파일

패키지를 이용하면 관련 있는 모듈을 그룹으로 관리할 수 있다
site - packages
site-packages에 있는 모듈은 어디서나 사용할 수 있다
math 모듈 , random 모듈 , time 모듈
math모듈
sum (합), max (최대값), min(최솟값), pow(거듭제곱), round(반올림), math.fabs(절대값), math.ceil(올림), math.floor(내림), math.trunc(버림), math.gcd(최대공약수) math.factorial(팩토리얼), math.sqrt(제곱근)
객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성된다
객체 = 속성 + 기능
객체는 클래스에서 생성된다
(클래스는 1개 객체는 무한대다 : 객채는 클래스를 만들기 위한 틀이다)
코드 재사용, 모듈화에 좋다
클래스는 class 키워드와 속석(변수) 그리고 기능(함수)를 이용해서 만든다
(클래스 앞글자는 대문자로)
객체생성 (객체는 클래스의 생성자를 호출한다)
객체 속성은 변경할 수 있다
변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다
얕은 복사 - 얕은 복사란, 객체 주소를 복사하는 것으로 객체 자체가 복사되지 않는다
깊은 복사 - 깊은 복사란, 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다
클래스는 또 다른 클래스를 상속해서 내 것처럼 사용할 수 있다
객채가 생성될 때 생성자를 호출하면 'init ()가 자동 호출된다
--init--() 가 속성을 초기화 한다 ,
super
2개 이상의 클래스를 상속한다
하위 클래스에서 상위 클래스의 메서드를 재정의 한다
상위 클래스에서 하위 클래스에 메서드 구현을 강요한다
추상클래스를 사용하는 이유
(어떠한 특정기능을 각자 입맛에 맞게 사용하라)
예외란, 문법적인 문제는 없으나 실행 중 발생하는 예상하지 못한 문제이다
예외 관련 클래스는 Exception 클래스를 상속한다
예외처리
예상하지 못한 예외가 프로그램 전체 실행에 영향이 없도록 처리함 - 발생한 예외에 대해서 별도 처리함
예외 발생 예상 구문을 try ~ except 로 감싼다
try ~ except ~ else (예외가 발생하지 않으면 실행한다)
예외 발생과 상관없이 항상 실행한다
예외 담당 클래스 Exception
raise 키워드를 이용하면 예외를 발생시킬 수 있다
실습



1,open()
file = open('파일주소', 'w')
2, read()
3, close()
w : 쓰기전용(파일이 있으면 덮어씌움)
a: 쓰기 전용(파일내용이 있으면 덧붙임)
x: 쓰기 전용(파일이 있으면 에러발생)
r: 읽기 전용(파일이 없으면 에러발생)
with ~ as문을 이용하면 파일 닫기(close) 를 생략할 수 있다
ex) with open(uri + '주소', 'r') as f:
실습


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