03. 파이썬 함수
- Programming/Python
- 2020. 7. 21.
함수 정의
def 함수 이름 (args...):
def는 파이썬 예약어로서 함수를 정의한다.
함수 정의 방법#1 - 기본값을 가진 형식인수
def function (x=1, y=1):
() 사이의 값은 함수의 형식인수 이다. 그리고 x,y는 기본값을 1로 정의한다.
그리고 함수의 호출은 function(1,5) 또는 function(y=12,x=5) 처럼 키워드를 주어 인수의 순서없이 입력이 가능하다. (키워드 인수호출)
함수 인수
함수의 인자로 가변형 인자를 받을 수 있다. 이때 가변형 인자를 튜플 또는 사전형 타입으로 정의할 수 있다.
함수의 인수#1 - 튜플형 인수
def function (*args):
함수의 인수#2 - 사전형 인수
def function (**args):
람다 표현식
lambda 인수 : 표현식
# lambda 표현식
func = lambda x : x**2
print(func(3))
========result=======
9
클로저
함수의 환경을 포함한 정보
제너레이터 함수 : yield
함수 내부에 yield 키워드가 있으면 해당 함수는 제너레이터 함수가 된다.
def func():
n = 0;
while n<10:
yield n;
n+=1;
info = func();
print(info.__next__());
print(info.__next__());
print(info.__next__());
yield 는 값을 반환함과 동시에 함수의 실행을 잠시 멈춘다.
코루틴
제너레이터 종류로서 일반 제너레이터와 다른점은 __next()__ 함수가 실행 되기 전까지 호출한 함수는 대기상태이다.
코루틴은 여기에 send()를 통해 인수를 전달하는 기능까지 포함하고있다.
def func():
total = 0;
while True:
n=(yield);
total+=n;
print(total);
info = func();
info.__next__();
print(info.send(5));
print(info.send(10));
'Programming > Python' 카테고리의 다른 글
02. 파이썬 If, for, while 정리 (0) | 2020.07.20 |
---|---|
01. 파이썬 기초 - 데이터 타입 (0) | 2020.07.19 |
정규식 표현 기초 (0) | 2016.01.28 |
파이썬-Module 불러오는법 (0) | 2016.01.26 |
파이썬-SyntaxError: Non-ASCII Character 에러 해결방법 (0) | 2016.01.26 |