지역변수
- 함수 안에서 생성된 변수
- 함수 내부에서만 사용 가능. 외부에서 출력 불가능
- 함수가 종료되면 사라짐
def calculate_area(radius):
result = 3.14 * radius ** 2 # result는 지역변수
return result
r = float(input("원의 반지름: "))
area = calculate_area(r)
print(result) # 오류
전역변수
- 함수 바깥에서 생성된 변수
- 프로그램 내 어디서나 사용 가능
def calculate_area(radius):
result = 3.14 * radius ** 2
return result
r = float(input("원의 반지름: "))
area = calculate_area(r) # area는 전역변수
print(area)
- 함수 안에서 전역변수 사용
: 기본적으로 함수 안에서 전역변수 사용하면 전역변수와 같은 이름의 지역변수 생성됨
: 함수 안에 'global 전역변수' 를 추가하면 전역변수를 함수 안에서 사용 가능
def 함수이름():
global 전역변수
# 전역변수 사용 가능
def calculate_area(radius):
global area # 함수 안에서 전역변수 사용 가능
area = 3.14 * radius ** 2
return
area = 0
r = float(input("원의 반지름: "))
calculate_area(r)
print(area)
디폴트 인수
- 함수 매개변수의 기본값
- 인수가 부족한 경우 기본값을 넣어줌
def greet(name="홍길동", msg="안녕"): # 인수를 입력하지 않으면 기본값이 들어감
print(name, msg)
greet() # 홍길동 안녕
greet("철수") # 철수 안녕
greet("철수", "좋은 아침") # 철수 좋은 아침
키워드 인수
- 인수의 이름을 명시적으로 지정해서 전달
- 인수의 위치와 매개변수의 위치 달라도 이름으로 구분
- 위치 인수(위치에 따라 인수 전달)는 키워드 인수 뒤에서는 사용 불가
def power(x, y):
return x ** y
print(power(10, 2)) # 100
print(power(2, 10)) # 1024
print(power(y=2, x=10)) # 100
가변인자
- 서로 다른 개수의 값을 넣을 때는 *로 시작하는 매개변수 사용
def profile(name, *language):
print("이름:", name, ", 언어: ", end="")
for lang in language:
print(lang, end=" ")
profile("홍길동", "한국어", "영어") # 이름: 홍길동 , 언어: 한국어 영어
'AI > Python' 카테고리의 다른 글
[Python] 8-1장 리스트란?, 리스트 함수(추가, 변경, 삭제, 정렬, 병합 등) (0) | 2023.04.06 |
---|---|
[Python] 7-3장 함수 응용(나무, 막대 그래프, 벌집 그리기) (0) | 2023.04.03 |
[Python] 7-1장 함수 (function), 인수, 매개변수, return (0) | 2023.03.27 |
[Python] 6-2장 반복문 응용(팩토리얼 계산, 사인 함수, 별 그리기, up & down 등) (0) | 2023.03.24 |
[Python] 6-1장 반복문 (for 문, while 문), range 함수, 무한 루프, break문 (0) | 2023.03.24 |