'전역변수'에 해당되는 글 1건

###단축키

def 함수이름():   받을 값과 함수 이름
    명령문   실행하고 싶은거
    return ... ... 돌려줄값 돌려줄 값
def 함수이름(*변수이름): *언팩 연산자 튜플(리스트)처럼 배열로 저장되어 사용할 수 있다
def 함수이름(변수이름, *변수이름): 첫제값 만 한값 받고 2번째부터 튜플(리스트) 처럼 저장

변수도 넣고 리스트도 넣고 싶을때는 순서를 리스트를 뒤에 쓰면된다

def 함수이름(**변수이름): 딕셔너리형 식의 가변 매개 변수 이름과 내용을 둘다 출력해주는 함수만들기 (사전)
    global 변수 전역변수 선언 그니깐 함수안에 변수를 밖에서도 쓸수 있게 제일 높은곳에 저장해둠
함수( lambda a, b: a+b): 미리 계산해서 넣어준다 변수 하나를 받을 수 있는 함수에 전처리를 해준다

함수1():

    함수2():

        return

    return함수2()

클로저 함수 숨기기??

### def

def clac_sum(x, y):
	return x + y 

a, b = 2, 3 
c = calc_sum(a, b)
d = calc_sum(a, c)

print("{0}".format(c))
print("{0}".format(d))

### def 함수이름(변수이름, *변수이름):

def calc_sum(precision, *params):
	if precision == 0:
    	total = 0
    elif 0 < precision < 1:
    	total = 0.0
    
    for val in parrams:
    	total += val
    return total
    
re_val = calc_sum(0, 1, 2)
print("calc_sum(0, 1, 2) 함수가 반환한 값: {0}".format(ret_val))

### def 함수이름(변수이름, *변수이름):

def calc_sum(precision1, precision2, *params):
	if precision1 == 0:
    	total1 = 0
    elif 0 < precision1 < 1:
    	total1 = 0.0
    
    if precision2 == 0:
    	total2 = 0
    elif 0 < precision2 < 1:
    	total2 = 0.0
        
        
    for val in params:
    	total1 += val
        total2 += val
    return total1, total2
    
re_val = calc_sum(0, 0.1, 1, 2)

print("calc_sum(0, 0.1, 1, 2) 함수가 반환한 값: {0}".format(*ret_val))
print("calc_sum(0, 0.1, 1, 2) 함수가 반환한 값: {0}".format(ret_val[0], ret_val[1]))

### def 함수이름(**변수이름):

def use_keyword_arg_unpacking(**params):
	for k in params.keys():
    	print("{0}: {1}".format(k, params[k]))
        
print("use_keyword_arg_unpacking()의 호출")
use_keyword_arg_unpacking(a=1, b=2, c=3)

결과값 

a: 1

b: 2

c: 3

 

뭔가 약속 어긴거 같은데.????

 

### def 함수이름(x, y, operator="+"):

def calc(x, y, operator="+"):
	if operator == "+":
    	return x + y
    else:
        return x - y
        
ret_val = calc(10, 5)

### print("calc(minus,10, 5)의 결과 값 : {0}".format(ret_val))

def calc(operator_fn, x, y):
	return operator_fn(x, y)
    
def plus(op1, op2):
	return op1 + op2
    
def minus(op1, op2):
	return op1 - op2
    
ret_val = calc(plus, 10, 5)
print("calc(plus, 10, 5)의 결과 값: {0}".fomat(ret_val))

ret_val = calc(minus, 10, 5)
print("calc(minus, 10, 5)의 결과 갑: {0}".format(ret_val))

 

### calc(lambda a, b: a + b, 10, 5)

def calc(operator_fn, x, y):
	return operator_fn(x, y)
    
ret_val = calc(lambda a, b: a + b, 10, 5)
print("calc(plus, 10, 5)의 결과 값: {0}".fomat(ret_val))

### 클로저

def outer_func():
	id = 0
    
    def inner_func():
    	nonlocal id
        id += 1
        return id
    
    return inner_func

make_id = outer_func()
print("make_id() 호출의 결과: {0}".format(make_id()))
print("make_id() 호출의 결과: {0}".format(make_id()))
print("make_id() 호출의 결과: {0}".format(make_id()))

'+++++SW 일일 공부+++++ > SW Expert Aademy' 카테고리의 다른 글

중복제거  (0) 2020.01.07
Python 가위바위보  (0) 2020.01.07
Python while  (0) 2020.01.05
Python for문  (0) 2020.01.05
Python 주석 달기  (0) 2020.01.04
블로그 이미지

Or71nH

,