Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
빠르게 활용하는 파이썬 3.2 프로그래밍 – 1장 파이썬 개요 및 설치, 2장 자료형 및 연산자
빠르게 활용하는 파이썬 3.2 프로그래밍 – 3장 함수
빠르게 활용하는 파이썬 3.2 프로그래밍 – 4장 제어
빠르게 활용하는 파이썬 3.2 프로그래밍 – 5장 클래스
빠르게 활용하는 파이썬 3.2 프로그래밍 – 6장 모듈
빠르게 활용하는 파이썬 3.2 프로그래밍 – 7장 예외처리
빠르게 활용하는 파이썬 3.2 프로그래밍 – 8장 입출력
빠르게 활용하는 파이썬 3.2 프로그래밍 – 10장 문자열이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 11장 날짜이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 12장 숫자이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 13장 파일 시스템을 자유자재로
빠르게 활용하는 파이썬 3.2 프로그래밍 – 14장 데이터베이스
▣ 03장 함수
3.1 함수의 정의
def으로 시작해 : 으로 끝나고, 시작과 끝을 들여쓰기로 구분
미리 선언하지 않아도 되며 바로 선언하고 사용 가능
함수는 객체 -> 함수 생성시 객체가 생성되고 변수에 주소값이 할당.
global() 함수를 사용해서 생성된 함수 객체를 확인가능
3.2 return
함수를 종료하고 해당함수를 호출한 곳으로 되돌아가게 함
return은 오직 한개의 객체만 반환가능(튜플 객체)
3.3 인자 전달
파라메터를 레퍼런스를 이용해 전달
call by reference 이해
3.4 스코핑 룰
함수 내부의 영역 : 지역영역
함수 밖의 영역 : 전역영역
파이선 자체에서 정의한 영역 : 내장영역
지역->전역->내장 순으로 검색
지역영역에서 전역 변수를 사용하고 싶을 경우 : global(지역영역에 전역변수의 공간을 할당)
__builtins__ 내장영역의 이름이 저장된 리스트 dir(__builtins__)으로 확인가능
3.5 함수 인자
기본인자 값 : 인자를 지정해주지 않아도 기본값이 할당
키워드 인자 : 명시적으로 인자의 이름을 사용하여 할당(순서안지켜도됨)
가변인자리스트 : 개수가 지정되지 않은 인자를 전달받음(튜플 형태로 처리)
정의되지 않은 인자 처리 : **을 붇이면 정의되지 않은 인자를 사전형식으로 전달받을수 있음(가장 마지막에)
3.6 람다 함수
이름이 없고 함수 객체만 존재하는 익명함수, 사용후 사라짐
lambda 인자 : 구문 (한줄로 입력, \ 사용시 여러줄입력가능)
3.7 재귀적 함수 호출
함수 내부에서 자기자신을 호출하는 것
(하노이 탑 소스)
3.8 pass
아무런 동작도 수행하지 않는 구문
아무것도 하지 않는 함수, 모듈, 클래스 만들때 사용
3.9 __doc__ 속성과 help 함수
help 함수의 설명을 볼수 있음
자신이 만든 함수에 설명을 넣고 싶을때 __doc__ 사용
3.10 이터레이터
순회 가능한 객체(리스트, 튜플, 문자열 등)의 각요소에 순차적으로 접근할수 있도록 지원
내장함수 next() 또는 객체의 __next__() 사용
3.11 제너레이터
return 대신 yield 사용하면 함수를 끝내지 않고 호출한 곳에 값을 전달
함수의 상태를 그대로 보존하고 다시 호출 할수 있다.(메모리가 절약된다?)