YYYEJI

[Python] 함수 정의하기 본문

Python

[Python] 함수 정의하기

YEJI ⍢ 2022. 10. 13. 15:17
728x90

함수는

수행하는 코드의 묶음입니다. 

가장 많이 사용되는 내장함수로는 print() 함수가 있습니다.

 

 

내장함수는 파이썬에서 미리 정의해 놓은 함수를 말합니다.

이렇게 내장함수를 사용할 수도 있고, 직접 정의해서 사용할 수도 있습니다.

 

 

기본적인 함수 정의의 format은 아래와 같습니다.

def function_name():
    code
    
    return result

def 옆에 함수의 이름을 정의하고 콜론(:)을 붙여줍니다.

다음 줄부터는 들여쓰기가 중요합니다.

들여쓰기를 하지 않으면 error가 뜹니다.

 

 

 

함수 정의 예제를 살펴봅시다.

 

아래 예제는 parameter value도 없고, return value도 없습니다.

def greeting():
    print("Hello world")

print(greeting())

 

다음 예제는 parameter value와 return value를 사용해보겠습니다.

def max_num(x, y):
    if(x>y) :
        return x
    else:
        return y


print(max_num(1,10))

두 개의 인자를 받아 더 큰 숫자를 return 하는 함수입니다.

 

 

⚠️  함수를 정의할 때 주의해야 될 점이 있습니다.

 

def 안에서 정의된 변수는 정의된 함수 밖에서 사용될 수 없습니다.

사용하게 되면 error가 뜹니다.

 

 

def 밖에서 선언된 a는 def 안에서 사용된 변수와 다른 변수입니다.

def computation(a):
    a = 1
    a = a * 10
    a = a / 10
    return a

a = 10
print(a)

그렇게 때문에 출력은 10이 됩니다.

 

 

 

그러면 def 안에서도 같은 변수를 사용하고 싶으면 어떡할까요?

아래와 같이 사용하시면 됩니다.

x = 7
print(x)

def hello():
    global x
    x = 5
    y = 3

hello()
print(x)

✓  함수를 정의하기 전에 x 변수를 선언했습니다.

✓  그리고 def 함수에서 x를 global로 선언하게 되면 앞서 선언한 x를 불러오겠다는 의미입니다.

✓  함수 정의가 끝나고 함수를 실행시킨 후 x를 출력해보면 값이 바뀐 것을 확인할 수 있습니다.

 

 

 

 

◡̈