[파이썬] 16. 함수1

2020. 9. 1. 10:00·Programming Langue/Python (파이썬)
728x90
반응형

함수의 역할

  1. 지정 기능을 실행하는 단위
  2. 코드의 가독성과 프로그램의 효율성 증대

수학 함수와 같은 역할을 한다.

사용자가 만든 함수에 인자를 전달하면 연산 결과 반환

→ 어떤 기능을 수행하는 프로그램에 입력 값을 넣으면 반환값이 나오는 것

함수선언

더보기

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])

함수의 역할

  1. 지정 기능을 실행하는 단위
  2. 코드의 가독성과 프로그램의 효율성 증대

큰 코드를 작성할 때 문제점

  • 어디에 어떤 코드가 있는지 모른다.
  • 필요없는 코드가 생길 수 있다.
  • 똑같은 코드가 반복될 수 있다.

위의 문제점을 해결하기 위해 함수 사용

 

함수의 사용 형태

  • 매개변수 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
'Programming Langue/Python (파이썬)' 카테고리의 다른 글
  • [파이썬] 18. 파일 읽기/쓰기
  • [파이썬] 17. 함수2
  • [파이썬] 15. 제어문
  • [파이썬] 14. 조건문
깜냠미
깜냠미
it 블로그입니다.
  • 깜냠미
    PLAY WORLD
    깜냠미
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • Programming Langue (23)
        • Python (파이썬) (19)
        • Typescript (타입스크립트) (1)
        • Javascript (자바스크립트) (3)
      • Algorithm (114)
        • Baekjoon (백준) (106)
        • Programmers (프로그래머스) (8)
      • ETC (9)
        • Tool (5)
        • DataBase (2)
        • Git || GitHub (1)
        • 번역글 (1)
      • WEB (8)
        • 기초 (0)
        • React (5)
        • NextJS (0)
      • 일상 (2)
        • 정보 (1)
        • 구경 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준 3단계
    문자열
    백준 자바
    백준 1단계
    백준 파이썬
    Python
    백준 7단계
    백준
    백준 1차원배열
    파이썬
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
깜냠미
[파이썬] 16. 함수1
상단으로

티스토리툴바