인공지능/파이썬

파이썬(Python) - 함수 / 전역변수와 지역변수

해피밀세트 2020. 2. 22. 19:03
반응형

 

함수

 

  • 반복되는 코드를 하나로 묶어서 처리하는 방법
  • 기능의 프로그램

def 함수이름(인수,인수,...) :         #인수는 옵션이다. 넣을값이 없으면 안넣어도 된다. / 형식매개변수라고도 한다.

    수행할 문장1

    수행할 문장2

     …

     return                        # return 옵션이다.

함수이름()                           # 실제 매개 변수

 

함수 연습하기


def mul(x, y) : 
    result = x * y 
    return result 
mul(1, 2)

 

return 값을 변수에 저장할 수 있다. :

a = mul(1, 2)  
a

 

가변 인수를 사용한 함수

가변 인수 : 

  • 인수를 여러개 사용할 수 있다.
  • 앞에 *을 붙여준다.

def traf(*x): 
    for i in x: 
        print(i) 
y = traf("자동차","기차","비행기","배") 
y

 

고정 매개변수와 가변인수 함께 사용 :

def fruit(x, *y): 
    if x == "2개": 
        for i in y: 
            if len(i) == 2 : 
                print(i) 
    elif x == "3개" : 
        for i in y: 
            if len(i) == 3 : 
                print(i) 
    else : 
        print("2개 혹은 3개를 입력하세요.") 
fruit("2개","사과","포도","바나나","한라봉","귤","오렌지","딸기")

fruit("3개","사과","포도","바나나","한라봉","귤","오렌지","딸기")

 

리스트 형식으로 가변 인수에 넣기 :

def number(*x): 
    for i in x: 
        if i%2 == 0: 
            print("짝수") 
        else : 
            print("홀수") 
number(*[1,2,3,4,5,6,7,8,9,10])

x = [20,25,30,35,40] 
number(*x)

 

return을 여러개 하기 :

def div(x,y): 
    return x//y, x%y 
mod, floor = div(20, 6) 

print(mod) 
print(floor)

 

값이 없는 return은 함수 종료를 의미한다. :

def div(x,y): 
    mod = x//y 
    return mod 
div(100,2)

def div(x,y): 
    mod = x//y 
    return  
div(100,2)

 

 

 

lambda 함수

  • 이름이 없는 한줄짜리 함수
  • 한줄의 간단한 함수가 필요한 경우 사용하면된다.
  • 가독성을 위해서
기존 함수 lambda 함수
def f1(x,y): 
    return x*y 
f1(2,3)
f2 = lambda x,y : x*y 
f2(2,3)

 


 

전역변수와 지역변수

 

전역변수(grobal) : 프로그램이 종료될때까지 어디서든지 사용할  있는 변수

지역변수(local) : 함수에서만 사용되는 변수 / 글로벌 변수에 영향을 끼치지 않는다.

 

x = 15                    # 전역 변수
def sum(x) :  
    y = x + 20 
    x = 5                  # 지역 변수
    y = x + 20 
    print(y, x) 
sum(x) 
print(x)

 

 

 

 

 

반응형