사자자리
07장 함수 본문
목차
7.1 함수
7.2 매개변수
7.3 지역 변수와 전역 변수
7.4 라이브러리 함수 활용
7.5 재귀 함수
7.1 함수
def 함수이름(0개 이상의 매개변수 목록):
함수본체
7.2 매개변수
인수(argument) | 함수를 호출할 때 전달하는 값 |
매개변수(parameter) | 인수를 전달받는, 함수 내에서 선언된 변수 |
가변 인수
- *매개변수
- 개수 미정의 여러 인수를 tuple로 받을 수 있다.
def average(*num):
result = 0
for i in num:
result += i
print(result/len(num))
average(1,2,3,4,5)
<실행 결과>
3.0
7.3 지역 변수와 전역 변수
선언 | 유효 범위 | |
지역 변수 (local) | 함수 안 | 함수 내부 |
전역 변수 (global) | 함수 밖 | 함수 안팎 |
- 함수 안에서 전역 변수를 사용할 수 있지만, 수정은 할 수 없다.
- 함수 안에서 전역 변수를 수정하려면, global 선언을 해야 한다.
rate = 20
def modify():
global rate
rate += 10
print(rate)
modify()
print(rate)
<실행 결과>
20
30
7.4 라이브러리 함수 활용
내장 함수
- built-in function
- import 등의 별도의 절차 없이 사용할 수 있는 함수
sorted() | 정렬 함수. sort() 메서드와는 달리, 리스트의 내용을 변경하지 않는다. |
sorted( , reverse = True) | 내림차순 정렬 |
list = [3, 5, 2, 6, 1]
tuple = (3, 5, 2, 6, 1)
string = 'Black'
print(sorted(list))
print(sorted(tuple))
print(sorted(string))
print()
print(list)
print(tuple)
print(string)
<실행 결과>
[1, 2, 3, 5, 6]
[1, 2, 3, 5, 6]
['B', 'a', 'c', 'k', 'l'] #대문자가 소문자보다 앞에 온다.
[3, 5, 2, 6, 1] #내용이 변경되지 않았다.
(3, 5, 2, 6, 1)
Black
7.5 재귀 함수
- 함수를 정의하면서 자신에 대한 호출을 이용하는 함수
팩토리얼 함수
def factorial(n):
if n == 0:
return 1
else:
return n*factorial(n-1)
num = int(input("0 이상의 정수를 입력하세요: "))
print(factorial(num))
<실행 결과>
0 이상의 정수를 입력하세요: 5
120
'Python' 카테고리의 다른 글
11장 그래픽스 응용 (0) | 2022.06.13 |
---|---|
10장 객체와 클래스 (0) | 2022.06.13 |
08장 GUI와 파일 처리 (0) | 2022.06.12 |
06장 리스트와 연산 (0) | 2022.06.12 |
Comments