사자자리

07장 함수 본문

Python

07장 함수

renne 2022. 6. 12. 20:23

목차

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