✍ 인수와 매개변수
- 함수 호출 시 함수에 데이터를 전달할 수 있음

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
- 방문객 수를 카운트하는 함수 만들기
