파이썬 Basic - function/lambda

Soonyoung Kim·2021년 1월 6일
0

1. function(함수)

  • 함수 정의 : 특정 기능을 수행하는 함수

    def 함수이름(입력1, 입력2, ...):

def sum(x,y):
    s = x+y
    return s

print(sum(1,2))

3

  • 함수 반환 값 : 파이썬 함수는 한 개 이상의 return 값을 반환 할 수 있다. return 값은 콤마(,)로 분리하여 받거나 tuple 형태로 받을 수 있다.
def multi_ret_func(x):
    return x+1, x+2, x+3

x = 100
y1, y2, y3 = multi_ret_func(100)
print(y1,y2,y3)

101 102 103

  • default parameter
    • 함수의 입력 파라미터에 기본 값을 지정하는 것
    • 함수가 호출되었을 경우 입력파라미터에 명시적인 값을 전달되지 않으면 기본으로 지정한 값을 사용하겠다는 의미
def print_name(name, count=2):
    for i in range(count):
        print(name,i)

print_name('kim',4)
print_name('lee')  #count 파라미터에 값을 지정하지 않으면 기본값 2를 사용한다.

kim 0
kim 1
kim 2
kim 3
lee 0
lee 1

  • mutable(list, dict, numpy) parameter
    - 원래의 데이터에 변형이 일어난다.
  • immutable(숫자, 문자, tuple 등) parameter
    - 원래의 데이터에 변형이 일어나지 않는다.
def mutable_immutable_func(int_x, input_list):
    int_x += 1
    input_list.append(100)

x = 1
test_list = [1,2,3]

mutable_immutable_func(x, test_list)
print(test_list)

[1, 2, 3, 100]


2. lambda

  • lambda(람다)는 한줄로 함수를 작성하는 방법으로, 익명함수 또는 람다 표현식 등으로 불린다.
  • lambda(람다)는 다른 함수의 인수로 넣을 때 주로 사용하며, 특히 머신러닝에서 미분을 계산하기 위해 필요한 수치 미분과 활성화 함수 등을 표현할 때, 수학에서 함수 표현처럼 f(x) 등으로 사용된다.

함수명 = lambda 입력1, 입력2,... : 대체되는 표현식

f = lambda x : x+100

for i in range(3):
    print(f(i))

100
101
102

# lambda 에서 입력값은 반드시 이용할 필요는 없음.

def print_hello():
    print("hello python")

def test_lambda(s,t):
    print("input ==",s, ", input2 ==",t)
    
s = 100
t = 200

fx = lambda x,y: test_lambda(s,t) #입력은 x,y를 넣었지만 사용하는 파라미터는 s,t
fy = lambda x,y: print_hello()

fx(500, 1000)
fy(300,600)

input == 100 , input2 == 200
hello python

profile
Sin prisa, sin pausa.

0개의 댓글