-
[python] 함수파이썬 2023. 8. 21. 21:16
함수
함수 구조
def 함수 이름 (매개변수 ): 수행할 문장
def add(a,b): return a+b a = 3 b = 4 c = add(a,b) print(c)
매개변수 : 함수에 입력으로 전달된 값을 받는 변수 ex, a b
인수 : 함수를 호출할때 전달하는 입력값 ex, 3 4
입력값x 함수
def add(): 와 같이 매개변수 없이 선언하면 입력값 없는 함수를 만들 수 있다.
매개변수 지정 함수호출
파이썬에서는 매개변수를 지정해서 호출할 수도 있다.
매개변수를 지정해서 호출하게되면 순서에 상관없이 사용할 수 있다는 장점이 있다.
result = add(b=7, a=3)
여러 개의 입력값을 받는 함수
몇개가 입력될지 모를때 사용한다.
매개변수 이름앞에 *을 붙이면 입력값을 전부 모아 튜플로 만들어 준다.
def 함수이름 (*매개변수): 수행할문장
def add_many(*args): result = 0 for i in args: result += i return result result = add_many(1,2,3) print(result)
def add_many(choice, *args): if choice =='add': result = 0 for i in args: result += i elif choice =='mul': result = 1 for i in args: result *=i return result result = add_many('add',1,2,3) print(result)
키워드 매개변수
키워드 매개변수를 사용할 때는 매개변수 앞에 **를 붙인다.
매개변수 kwargs 는 딕셔너리가 되고 모든 key=value 형태의 입력값이 딕셔너리에 저장된다.
def print_kwarge(**kwargs): print(kwargs) print_kwarge(a=1) print_kwarge(name='foo',age=3)
{'a': 1} {'name': 'foo', 'age': 3}
매개변수에 초기값 설정하기
- 매개변수에 입력값을 주지않아도 미리 값을 갖고 있게 할 수 있다. ex. man=True
- 초깃값이 없는 매개변수는 초깃값이 있는 매개변수 뒤에 사용할 수 없다.
- 초기화하고 싶은 매개변수는 항상 가장 뒤쪽에 놓아야한다.
def say_myself(name,age,man=True):
지역변수
- 함수 안에서 선언한 매개변수는 함수 안에서만 사용되는 지역변수이다.
함수 안에서 함수 밖의 변수를 변경하는 방법에는 크게 두가지가 있다.
1. return문 사용
2. global명령어 사용 : global a는 함수 안에서 함수 밖의 a변수를 직접 사용하겠다는 뜻이다. 그러나 함수는 독립적으로 존재하는것이 좋기때문에 global명령어를 사용하는것은 피해야한다.
lambda 예약어
함수이름 = lambda 매개변수1, 매개변수2, ... : 매개변수를 이용한 표현식
- return명령어 없이 결괏값 리턴한다.
- 함수를 한 줄로 간결하게 만들어준다.
add = lambda a, b : a+b result = add(3,4) print(result)
'파이썬' 카테고리의 다른 글
[python] 클래스 (0) 2023.08.26 [python] 입출력 (0) 2023.08.21 [python] 제어문 (0) 2023.08.20 [python] 변수 (0) 2023.08.17 [python] 자료형과 관련함수 총 정리 (0) 2023.08.17