[python] 점프 투 파이썬 공부 - 함수

Jean Young Park·2022년 6월 26일
0

python

목록 보기
7/15

파이썬 함수 구조

def add(a, b):
	return a+b

매개변수와 인수

  1. 매개변수
    >>> def add(a, b) //a, b는 매개변수
    ...		return a+b
  2. 인수
    >>> print(add(3,4)) //3, 4는 인수

매개변수 지정하여 호출하기

>>> def add(a, b):
...		return a+ b
...
>>> return = add(a=3, b=7)
>>> print(result)
10
>>> return = add(b=5, a=3)
>>> print(result)
8

입력값이 몇 개가 될지 모를 때

매개변수 이름 앞에 *을 붙이면 입력값을 전부 모아서 튜플로 만들어준다.

>>> def add_many(*args):
...		result = 0
...		for i in args:
...			result = result + i
...		return result
...
>>>

함수의 결과값은 언제나 하나

결과값이 여러개인 경우 하나의 튜플로 리턴된다.

>>> def add_and_mul(a,b):
...		return a+b, a*b
>>> result = add_and_mul(3,4) // result = (7, 12)

만약 하나의 튜플로 리턴받은 값을 각각 2개의 결과값처럼 받고 싶다면 아래와 같이 함수를 호출하면 된다.

>>> result1, result2 = add_and_mul(3,4) //result1 = 7, result2 = 12

함수 안에서 함수 밖의 변수를 변경하는 방법

  1. rerutn 사용하기
# vartest_return.py
a = 1
def vartest(a):
	a = a + 1
    return a
    
a = vartest(a)
print(a)
  1. global 명령어 사용하기
# vartest_global.py
a = 1
def vartest():
	global a
    a = a+ 1
    
vartest()
print(a)

lambda

함수를 한줄로 간격하게 만들 때 사용한다.
def를 사용해랴 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 쓰인다.

  • lambda 매개변수1, 매개변수2, ...: 매개변수를 사용한 표현식
>>> add = lambda a,b : a+b
>>> result = add(3,4)
>>> print(result)
7

0개의 댓글