함수 왜 쓰지? 반복적이고 중복되는 처리를 줄일 수 있다.
함수 왜 쓰지? 반복적이고 중복되는 처리를 줄일 수 있다.
코드 가독성, 유지보수성 등의 유용, 함수는 하나의 기능을 하나의 함수
1. 함수정의
def 함수명(parameter) :
code
2. 함수호출
함수명(parameter)
3. 함수선언위치
함수선언은 반드시 함수호출전에 할 것 정의되지 않은 함수를 부를 수 없음
함수 선언 전 호출 : hello('world') => NameError: name 'hello' is not defined
함수선언
def hello(world) :
print("Hello", world)
함수 선언 후 호출 hello("Korea")
=> Hello Korea
hello("10000")
=> Hello 10000
4. return이 있는 함수
함수선언
def hello_return(world) :
return "Hello "+ str(world)
hello_return('Korea')=> HelloKorea
hello_return(7777)=> Hello7777
5. 다중리턴이 있는 함수
함수선언
def func_mul(x) :
y1 = x * 100
y2 = x * 200
y3 = x * 300
return y1, y2, y3
함수호출
func_mul(100) => (10000, 20000, 30000) func_mul(100)[0] = 10000
다중리턴 기본 자료형 : <class 'tuple'>
6. 다중리턴 리스트로 받는 함수
함수선언
def func_mul_list(x) :
y1 = x * 100
y2 = x * 200
y3 = x * 300
return [y1, y2, y3]
함수호출
func_mul_list(100) => [10000, 20000, 30000]func_mul_list(100)[0] = 10000
자료형 : <class 'list'>
7. args 가변적개수를 가진 파라미터
함수선언
def args_family_name(*args) :
return args
함수호출
args_family_name('kim') => ('kim',)
args_family_name('lee','park') = ('lee', 'park')
자료형 : <class 'tuple'>
8. kwargs 가변적개수를 가진 딕셔너리파라미터를 딕셔너리로 받기
함수선언
def args_family_name_dict(**kwargs) :
return kwargs
함수호출
args_family_name_dict(p1 = 'kim') => {'p1': 'kim'}
args_family_name_dict(p1='lee',p2='park') = {'p1': 'lee', 'p2': 'park'}
자료형 : <class 'dict'>
7. args 가변적개수를 가진 파라미터
함수선언
def args_family_name(*args) :
return args
함수호출
args_family_name('kim') => ('kim',)
args_family_name('lee','park') = ('lee', 'park')
자료형 : <class 'tuple'>
9. 중첩함수 클로져
함수선언
def nested_func(num) :
def func_in_func(num) :
print('>>> ',num)
print("in func")
func_in_func(num*10000)
함수호출
in func
>>> 20000
nested_func(2) => None
10. 힌트 : 파라미터와 리턴값의 자료형 명시
함수선언
def func_mul_hint(x : int) -> list :
y1 = x * 100
y2 = x * 200
y3 = x * 300
return [y1, y2, y3]
함수호출
func_mul_hint(2) => [200, 400, 600]
func_mul_hint('a') => ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa']
특별히 에러를 발생시키진 않지만, 함수를 쓸 때 툴팁에 자료형이 표시
'프로그래밍 > 파이썬' 카테고리의 다른 글
[머신러닝] 다중선형회귀 (0) | 2021.11.29 |
---|---|
[머신러닝] 단순선형회귀 분석 (0) | 2021.11.29 |
[파이썬] 딕셔너리 (Dict) (0) | 2021.06.15 |
[파이썬] Set 셋 (0) | 2021.06.15 |
[파이썬] 튜플 (Tuple) (0) | 2021.06.15 |