본문 바로가기

Python

Python - 함수와 람다

# 람다 : 함수 객체


# def : 함수의 정의
# coffee_machine : 함수명
# button : 매개 변수 
def coffee_machine(button) : #함수의 선언부 
    print()
    print("#1 뜨거운 물 준비")
    print("#2 종이컵 준비")
    if button == 1:
        print("#3 보통 커피를 탄다")
    elif button == 2:
        print("#3 설탕 커피를 탄다")
    elif button == 3:
        print("#3 블랙 커피를 탄다")
    else : 
        print("#3 커피 종류 없음")
    print("#4 물을 붓는다.")

# main 시작. 프로그램의 시작 위치 
coffee=int(input("커피 종류를 입력하세요(1:보통,2:설탕,3:블랙)"))

# 함수 이름(인자) => 함수 호출 

coffee_machine(coffee) #coffee : 1 or 2 or 3

 

# 전역 변수, 지역 변수 
def func1() :
    a = 20 # 지역변수. func1 함수에서만 사용이 가능한 변수 
    b = 1000 # 지역변수. func1 함수에서만 사용이 가능한 변수  
    gval = 200 # 지역변수. func1 함수에서만 사용이 가능한 변수 
    print("func1() 함수 호출함",gval,a,b) #200 20 1000

gval = 100 # 전역변수 => 모든 함수에 접근이 가능한 변수
a = 10     # 전역변수 

if __name__ =='__main__' : #프로그램 실행 시 시작 위치
    func1()
#    print(b) #b 변수가 없다.
    print("main() 함수에서 호출함",gval,a)


def func1() : #함수 정의
    a = 20 # 지역변수. func1 함수에서만 사용이 가능한 변수 
    b = 1000 # 지역변수. func1 함수에서만 사용이 가능한 변수  
    gval = 200 # 지역변수. func1 함수에서만 사용이 가능한 변수 
    print("func1() 함수 호출함",gval,a,b) #200 20 1000

def func2() :
    print("func2() 함수에서 func1() 함수 호출")
    func1()
    print("전역변수 gval 값 =", gval)

gval = 100 #전역변수 => 모든 함수에 접근이 가능한 변수
a = 10 #전역변수 

if __name__ == '__main__' : 
    print("1.main 함수 gval=",gval) #1
    func2()
    print("5.main 함수 gval=",gval) #1


# 전역 변수의 값을 변경하기 
# 지역 변수는 다른 곳에 영향을 주지 않는다.

def func1() : # 함수 정의
    global gval #gval 변수는 전역 변수로 선언된 변수를 사용함 
    gval = 200 
    a = 20
    print("func1() 함수 호출함",gval,a) #200 20 1000
    
def func2() :
    print("func2() 함수에서 func1() 함수 호출")
    func1()
    print("전역변수 gval 값 =", gval,a)

gval = 100 #전역변수 => 모든 함수에 접근이 가능한 변수
a = 10 #전역변수 

if __name__ == '__main__' : 
    print("1.main 함수 gval=",gval,a) #1
    func2()
    print("5.main 함수 gval=",gval,a) #1