함수의 역할
- 지정 기능을 실행하는 단위
- 코드의 가독성과 프로그램의 효율성 증대
수학 함수와 같은 역할을 한다.
사용자가 만든 함수에 인자를 전달하면 연산 결과 반환
→ 어떤 기능을 수행하는 프로그램에 입력 값을 넣으면 반환값이 나오는 것
함수선언
def : 함수를 정의하는 키워드
매개변수 : 함수를 호출할 때 전달받은 인자를 함수 안에서 사용할 수 있도록 연결 및 전달하는 역할 수행
return : 연산결과 반환
#함수 정의
def 함수 이름(매개변수1, 매개변수2, ...) :
실행 구문
...
return 반환값
#함수 호출
함수 이름(전달인자1, 전달인자2, ...)
예) 주민등록번호 앞 7자리 입력 → 나이, 생일, 성별 반환하는 함수
stdInfo함수
2000년생 이후와 이전으로 나눠 다른 연산을 실행하는 함수
나이, 태어난 달, 태어난, 성별은 하나의 리스트로 묶여 반환
학생 리스트인 stdlist 리스트 변수에 append( ) 함수를 사용하여 리턴된 값 저장
#함수 선언
def stdInfo(rrn) :
if int(rrn[6]) == 3 or int(rrn[6]) == 4 :
biryear = int(rrn[0]+rrn[1]) + 2000
else :
biryear = int(rrn[0]+rrn[1]) + 1900
age = year - biryear + 1
birmonth = int(rrn[2] + rrn[3])
birday = int(rrn[4] + rrn[5])
if rrn[6] == "2" or rrn[6] == "4" :
gen = "여자"
else :
gen = "남자"
return [age, birmonth, birday, gen] #리스트 형식으로 반환
year = 2018
stdlist = []
stdrrn = input("학생의 주민등록번호를 7자리 입력하세요:")
stdlist.append(stdInfo(stdrrn)) #함수 호출
print(stdlist[0])
함수의 역할
- 지정 기능을 실행하는 단위
- 코드의 가독성과 프로그램의 효율성 증대
큰 코드를 작성할 때 문제점
- 어디에 어떤 코드가 있는지 모른다.
- 필요없는 코드가 생길 수 있다.
- 똑같은 코드가 반복될 수 있다.
위의 문제점을 해결하기 위해 함수 사용
함수의 사용 형태
- 매개변수 O, 반환값 O
- 매개변수 O, 반환값 X
- 매개변수 X, 반환값 O
- 매개변수 X, 반환값 X
반환값이 존재할 경우 함수를 바로 변수에 초기화
def guide() : #매개변수 X, 반환값 X
print("두 정수를 입력받아 곱한 결과를 출력하는 프로그램입니다.")
def inputnums() : #매개변수 X, 반환값 O
a = int(input("첫번째 정수를 입력하세요:"))
b = int(input("두번째 정수를 입력하세요:"))
return a, b
def multi(num1, num2) : #매개변수 O, 반환값 O
return num1 * num2
def printResult(result) : #매개변수 O, 반환값 X
print("두 수의 곱셈 결과는 %d입니다." %result)
guide()
n1, n2 = inputnums() #반환 값이 두 개이니 두 변수에 초기화
res = multi(n1, n2)
printResult(res)
다음 글 보기 :
2020/09/03 - [Programming Langue/Python (파이썬)] - [파이썬] 17. 함수2
[파이썬] 17. 함수2
매개변수 필요에 따라 제한 없이 입력 가능, 호출할때 매개변수와 같은 수의 전달 인자를 입력해야 함 가변인자 함수 같은 기능을 수행하지만 매개변수만 다른 함수, 튜플 형식으로 변수에 저장
playpray4me.tistory.com
이전 글 보기 :
2020/08/29 - [Programming Langue/Python (파이썬)] - [파이썬] 15. 제어문
[파이썬] 15. 제어문
제어문 반복문의 흐름제어를 한다 break 반복문을 빠져나올때 사용 자신을 직접 포함하고 있는 반복문만 완전히 종료 wordslist = [] while True : word = input("단어를 입력하세요. 1 입력시 중단됩니다.:")
playpray4me.tistory.com
해당 게시글은 구름EDU(https://edu.goorm.io)의 <한 눈에 끝내는 파이썬3> 강좌를 참고하여 작성되었으며 모든 저작권은 구름에 있습니다.
'Programming Langue > Python (파이썬)' 카테고리의 다른 글
[파이썬] 18. 파일 읽기/쓰기 (0) | 2020.09.05 |
---|---|
[파이썬] 17. 함수2 (0) | 2020.09.03 |
[파이썬] 15. 제어문 (0) | 2020.08.29 |
[파이썬] 14. 조건문 (0) | 2020.08.27 |
[파이썬] 13. 반복문 (0) | 2020.08.25 |