함수
- 반복되는 코드를 묶음으로 효율적인 코드를 작성하도록 해주는 기능
- 기본 함수
- 파라미터와 아규먼트
- 리턴
- ‘*args’, ‘**kwargs’
- docstring
- scope
- inner function
- lambda function
- Map, Filter, Reduce
- Decorlator
1. 기본함수
1 2 3 4 5 6 7 8
| point = 88
if point >= 90: print("A") elif point >= 80: print("B") elif point >= 70: print("C")
|
B
Once deleted, variables cannot be recovered. Proceed (y/[n])? y
Interactive namespace is empty.
1 2 3 4 5 6 7 8
| def grade(point): if point >= 90: print("A") elif point >= 80: print("B") elif point >= 70: print("C")
|
Variable Type Data/Info
--------------------------------
a int 1
grade function <function grade at 0x0000025592D26820>
ls list n=3
B
C
2. 파라미터와 아규먼트
- 파라미터 : 함수를 선언할때 호툴하는 부분에서 보내주는 데이터를 받는 변수
- 아규먼트 : 함수를 호출할때 함수에 보내주는 데이터
1 2
| def plus(num1, num2=10, num3=20): print(num1 + num2 - num3)
|
3
13
-87
1 2
| print(1, 2, end="-") print(3)
|
1 2-3
3. 리턴
- 함수를 실행한 결과를 저장하고 싶을때 사용
- return
1 2 3
| def plus(num1, num2): print(num1+num2) return num1+num2
|
1 2
| result = plus(1, 2) print(result)
|
3
3
1 2 3
| data1 = "python" result = data1.upper() print(result)
|
PYTHON
1 2 3
| data2 = [3, 1, 2] result = data2.sort() print(result)
|
None
1 2 3 4 5
| def echo(msg): if msg == "quit": return print(msg)
|
python
4. *args, **kwargs
- 함수를 호출할때 아규먼트와 키워드 아규먼트의 갯수를 특정지을수 없을때 사용
1 2 3 4
| def plus(*args, **kwargs): print(type(args), args) print(type(kwargs), kwargs) return sum(args) + sum(list(kwargs.values()))
|
1
| plus(1, 2, num1=3, num2=4)
|
<class 'tuple'> (1, 2)
<class 'dict'> {'num1': 3, 'num2': 4}
10
1 2 3 4
| def func(num1, num2, num3): return num1, num2, num3 data = [1, 2, 3] func(*data)
|
(1, 2, 3)
1 2 3 4 5
| data = { "num2": 100, "num3": 200, } func(1, **data)
|
(1, 100, 200)