Information Security
함수(Function) 본문
함수(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 |