Molybdenum의 개발기록

[TIL] 8일차_PYTHON_Fuction_02 본문

TIL

[TIL] 8일차_PYTHON_Fuction_02

Molybdenum_j 2023. 3. 3. 16:43

▶ scope = 범위

  • 함수 밖 :전역영역 : global
  • 함수 안 : 지역영역 : local

▶ 실수할만한 코드

data = 10

def change():
    data = 20

change()
print(data)

 


 

▶ global : 지역영영에서 전역영역의 변수 사용방법

data = 10

def change():
    global data
    data = 20

change()
print(data)

20

 

  • 지역영역에서 사용되는 변수(식별자)는 지역영역 없으면, 전역영역의 변수를 가져와서 사용
data = 10

def change():
    print('local', data)

change()
print('local', data)

 

  • return : 전역영역에서 지역영역의 변수 사용하는 방법
data = 10

def change():
    data = 20
    return data

data = change()
print(data)

 


▶ lambda 함수

일회성 함수로 간단한 함수( parameter, return)를 함수 선언 없이 사용가능 -> 메모리절약, 가독성 증대

def 함수이름(매개변수):
    함수 내용
    return 반환값

-> lambda형식으로 나타내면
lambda 매개변수 : 반환값

 

  • 함수는 데이터 타입이 function인 변수이다.
  • function 은 코드를 담고 있는 데이터 타입이다.
type(plus), plus(1, 2)

(function, 3)

 

  • 변수 3개 선언 : plus, minus, calc : 저장공간 3칸
def plus(n1, n2):
    return n1 + n2

def minus(n1, n2):
    return n1 - n2

def calc(func, n1, n2): # func:plus
    return func(n1, n2)
calc(plus, 1, 2), calc(minus, 1, 2)

(3, -1)

 

  • lambda 함수 : 간단한 함수를 함수 선언 없이 사용 가능
func = lambda n1, n2: n1 + n2
func(1, 2)

3

 

  • 저장 공간 1칸 사용
def calc(func, n1, n2):
    return func(n1, n2)
calc(lambda n1, n2: n1 + n2 , 1, 2), calc(lambda n1, n2: n1 -n2, 1, 2)

(3, -1)

 

 

출처-멋쟁이사자처럼_AISCHOOL_박두진강사님

'TIL' 카테고리의 다른 글

[TIL] 9일차_PYTHON_Class  (0) 2023.03.03
[TIL] 8일차_PYTHON_Function_03  (0) 2023.03.03
[TIL] 8일차_PYTHON_Function_01  (0) 2023.03.03
[TIL] 7일차_Conditional_probability  (0) 2023.03.03
[TIL] 7일차_python_operator_condition_loop_03  (0) 2023.02.28
Comments