본문 바로가기
파이썬/데이터 다루기

[240910] #파이썬07 함수- 출력(Output)

by 황오독 2024. 9. 10.

2. 출력(Output)

   - 함수 안에서 결괏값을 반환할 때는 return 문을 사용한다.

# 함수 만들기
del calculate1(a,b):
	return a + b     # print(a + b)로 한다면, none 값이 나옴.

# 함수 사용
r1 = calculate1(10, 5)
print(r1)

# 결과 출력
15
하나의 함수가 여러 개의 결괏값을 반환할 수도 있다.

# 함수 만들기
def calculate2(a, b):
	return (a + b, a * b) # 튜플 형태
    
# 함수 사용
r1, r2 = calculate(10, 5) # r1 = a + b / r2 = a * b
print(r2)
print(r2)

calculate(10, 5) # 한번에 받을 수도 있다.

# 결과 확인
15
50
(15, 50)

 

예외처리

   - 함수 내 발생할 수 있는 오류에 대하여 사전 처리를 권고

# 함수 만들기
def divide(a, b) :
    if b == 0 :
        return 'ERR: 나누는 값이 0이 될 수 없습니다.'
    elif (type(a) != int) or (type(b) != int):
        return 'ERR: 정수 연산만 가능합니다.'
    else:
        return a / b

# 함수 사용
a = divide(10, 0)
b = divide(10, 'ab')
c = divide(10, 2)

# 확인
print(a)
print(b)
print(c)

# 결과 확인
ERR: 나누는 값이 0이 될 수 없습니다.
ERR: 정수 연산만 가능합니다.
5.0

 

** 참고: 변수 우선 순위(LEGB)

- L: Lcoal - 함수 안에서 선언된 변수
- E: Enclosing - 함수가 함수를 호출한 경우 안쪽 함수 입장에서 밖의 함수가 선언한 변수
- G: Global - 함수 밖에서 선언한 전역 변수
- B: Built-in - 파이썬이 기본적으로 제공하는 함수

# 리스트 선언
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 함수 선언
def test():
    a[0] = 10
    a.append(11)

# 함수 사용
test()

# 변수 확인
print(a) # 밖의 함수 변함.