함수
기본함수
함수명 (파라미터2, 파라미터2, ...)
반복되는 코드를 묶음으로 효율적으로 코드를 작성
def : 함수 선언
return
- 결과 반환 값 지정
- 함수의 종료 명시
- return만 존재하면 None 반환
- mutiple return 가능
parameter
- 함수에 전달되는 입력(input)
- default parameter : 기본 인자
- 가장 뒤에 선언
argument
함수에 입력으로 전달하는 값
함수에 파라미터 개수가 불특정할 때 사용 가능
*args
- 함수 호출시 여러개의 데이터를 한꺼번에 받아올 때 사용
- 파라미터를 튜플 형태로 전달
**kwargs
- 함수 호출시 여러개의 키워드 데이터를 받아올 떄 사용
- 파라미터를 딕셔너리 형태로 전달
Docstring
함수에 대한 설명
- <함수명>?
- <함수명>??
- help(함수명)
- print(함수명.doc)
- dir(함수명)
Scope
global variable : 전역변수
- 가장 상단에서 정의되어 프로그램 종료 전까지 유지
- 상수(변수명 대문자 표기)를 주로 선언해서 사용
local variable: 지역변수
- 특정 코드 블록에서 선언된 변수
- 같은 이름의 경우 전역변수보다 우선순위 높음
Inner Function
- 함수 안에서 선언된 함수
- 자원을 효율적으로 사용
- 지역함수
Lambda Function
- 단일문으로 표현되는 익명함수
- 파라미터를 받아 바로 리턴하는 함수를 줄여서 작성
- 리소스를 적게 사용 (1회성)
(1, 2, 3)
{'who': 'Robert', 'what': 'IronMan'}
Map, Reduce, Filter
- map : 리스트 데이터의 각 요소에 함수를 실행하고 나온 결과를 새로운 리스트로 반환
- filter : 특정 조건을 만족시키는 요소만 남기는 함수
- reduce : 차례대로 앞 2개의 원소 연산 결과가 다음 연산의 입력으로 진행되어 최종 출력이 한개
result1 = ['Kim', 'Lee', 'Park', 'Kim', 'Lee', 'Hong']
result2 = ['Kim python', 'Kim data']
result3 = 'HONG Lahong'
Decorator
- 코드를 바꾸지 않고 함수의 기능 추가 및 수정 가능
- 함수에서 공통된 코드 부분을 따로 묶어 관리할 수 있는 장점
- 지역함수와 *args, **kwargs 구현
Q. 데코레이터 함수를 이용해서 함수에 아이디를 입력하면 아이디가 저장되어 있으면 패스워드를 알려주는 코드를 작성하세요.
# input_id()= "Lahong"
Insert ID: Lahong
Not admin!
False
# input_id()= "IronMan"
Insert ID: IronMan
allow permission!
Pw: Avengers
True
'PYTHON > Basic' 카테고리의 다른 글
operating system (0) | 2019.12.28 |
---|---|
module (0) | 2019.12.28 |
loops (0) | 2019.12.28 |
conditions (0) | 2019.12.28 |
operators (0) | 2019.12.28 |