Information Security

함수(Function) 본문

Python

함수(Function)

leeeeye321 2017. 3. 21. 11:22

함수(Function)

-반복적으로 수행되는 작업을 따로 한 번 만들어 두고 필요할 때마다 사용한다. 

-함수를 사용하면 코드가 중복되지 않고 간단해진다.

-함수를 기능별로 작성하여 프로그램의 모듈화가 증대된다.

 

함수의 형식

def 함수명(입력 인수):

<수행할 문장>

<수행할 문장>

return <결과 값>

-입력 인수: 함수에 제공되는 입력 값으로, 여러 개를 넣을 수 있다.

-들여쓰기 한 부분까지 하나의 구조가 된다. 들여쓰기를 벗어나면 함수가 종료된다.

-return:결과 값을 반환하기 위한 절차이다. 함수를 호출한 곳으로 값을 돌려준다.

 리턴 값은 하나밖에 지정할 수 없다.

 

함수 예제

입력값도 리턴 값도 없는 경우

-함수는 호출을 해야만 수행된다. 

-함수의 정의가 맨 위에 되어있지만, 호출을 하지 않았기 때문에 "Run!!"이 먼저 출력된다. 그다음 함수를 호출하여 함수가 수행되고, "End"가 출력된다. 

 

입력값이 있는 경우

-함수를 호출하면 45는 a에, 64는 b에 전달된다.

 

-동일한 함수를 입력 값을 바꿔가며 3번 호출하였다.

 

입력받은 숫자에  대한 구구단 표시하기

 

함수의 불특정 입력 값

-함수 입력의 개수가 상황에 따라 변경될 경우, 가변적으로 입력 값을 조정할 수 있다.

-함수를 호출할 때, 입력의 개수를 자유롭게 설정하고, 함수의 인수에는 앞에 '*'을 붙인 변수를 넣는다. 그러면 전달된 인자들이 변수에 리스트 형태로 저장된다.

 

switch

-위와 같이 프로그래밍 하면 C언어의 switch 문과 비슷한 기능을 가진다.

첫 번째 인자를 받아 if 문들 중에 참이 되는 조건을 찾아서 문장을 수행한다.

 

불특정 입력 테스트

-전달된 입력 값만큼 별(*) 출력하기

-인자들을 전달받고 for 문을 이용하여 i에 저장되는 값만큼 '*'에 곱셈 연산을 하여 반복 출력되도록 한다.

 

함수의 반환

-return 변수: 결과가 저장된 변수를 함수가 호출된 곳으로 전달한다. 

-print 문에서 호출했으므로 결과 값도 print 문으로 반환되어 함수를 수행한 결과를 출력할 수 있다.

 

-리턴 값은 하나만 출력할 수 있지만, 튜플 자료형으로는 다수의 리턴 값을 포함할 수 있다.

 

함수 인자의 초깃값

-함수의 인자는 각각 초깃값을 설정할 수 있다.

-두 번째 인자의 초깃값을 설정하여 주었다. 함수를 호출할 때 두 번째 인자를 지정하지 않으면 설정한 초깃값이 적용되고 값을 두 번째 인자에도 값을 넣어주면 그 값이 적용된다.

 

 

 

변수의 범위(scope)

-지역 변수(local variable): 함수 안에서 선언된 변수로, 함수 안에서 조작되어도 함수 밖에 영향을 주지 않는다.

-전역 변수(global variable): 함수 밖에서 선언된 변수로, 소스 전체에서 사용한다.

-함수 내에서 변수 x에 30을 대입했지만 그 변수 x는 함수 안에서 선언된 지역변수이므로 함수 밖에는 영향을 주지 않는다. 맨 마지막 print 문에서의 변수 x는 밖에서 선언된 전역변수 x이므로 20을 출력한다.

 

-함수 안에서 전역변수를 가져와서 조작하려면 global을 사용한다.

 

함수(Function) 테스트

-여러 개의 숫자를 전달받아서 최댓값과 최솟값을 반환하는 함수 만들기

 

 

 

 

'Python' 카테고리의 다른 글

Class  (0) 2017.03.24
입/출력  (0) 2017.03.22
while 문 & for 문  (0) 2017.03.18
IF 문  (0) 2017.03.17
Dictionary & Set  (0) 2017.03.16