[Python] 중급2. 인수와 매개변수

HyunJin·2024년 5월 15일

✍ 인수와 매개변수

  • 함수 호출 시 함수에 데이터를 전달할 수 있음
def greet (customer):
    print(f'{customer} 고객님 안녕하세요')

greet('홍길동')
greet('박찬호')
# 홍길동 고객님 안녕하세요
# 박찬호 고객님 안녕하세요
def greet (customer1, customer2):
    print(f'{customer1}, {customer2} 고객님 안녕하세요')

greet('홍길동', '박찬호')
# 홍길동, 박찬호 고객님 안녕하세요

✍ 인수와 매개변수의 개수

  • 매개변수 개수가 정해지지 않은 경우: '*' 사용
def printNumber (*numbers): 
    for numer in numbers:
        print(numer, end='')
    print()

printNumber()
# (아무것도 없는 공란 출력)
printNumber(10)
# 10
printNumber(10,20)
# 1020
printNumber(10,20,30)
# 102030

✔ 실습 1

  • 국어, 영어, 수학 점수를 입력받고, 입력받은 점수를 이용해서 총점과 평균을 출력하는 함수 만들기

✍ 지역변수와 전역변수

1. 전역변수

  • 함수 밖에 선언된 변수로 어디에서나 사용은 가능
  • 하지만, 함수 안에서 수정할 수 없음
# 전역변수
num_out=10 
print(f'num_out:{num_out}') # num_out:10

num_out=10
def printNum():
    print(f'num_out:{num_out}')

printNum() # num_out:10

2. 지역변수

  • 함수 안에 선언된 변수로 함수 안에서만 사용가능
# 지역변수
def printNum(): 
    num_out=20
    print(f'num_out:{num_out}')

printNum() # num_out:20
# 아래의 경우, 호출 불가 
# num_in은 지역변수이기 때문에, 함수 밖에서는 호출이 불가함
def printNum_in():
    num_in=20
    print(f'num_in:{num_in}')

print(f'num_in: {num_in}') 
# NameError: name 'num_in' is not defined

3. global 키워드

  • global을 사용하면 함수 안에서도 전역 변수의 값을 수정할 수 있음.
num_out=10

def printNum():
    global num_out # global로 인해 지역변수가 전역변수로 바뀜
    num_out = 20
    print(f'num_out:{num_out}')

printNum() # num_out:20
print(f'num_out:{num_out}') # num_out:20

✔ 실습 1

  • 사용자가 가로, 세로 길이를 입력하면 삼각형과 사각혀의 넓이를 출력하는 함수 만들기

✔ 실습 2

  • 방문객 수를 카운트하는 함수 만들기
profile
데이터 분석가 준비생

0개의 댓글