Time for us to shine

[혼공학습단 10기] 혼자 공부하는 첫 프로그래밍 6주차 본문

혼공학습단/혼자 공부하는 첫 프로그래밍 with 파이썬

[혼공학습단 10기] 혼자 공부하는 첫 프로그래밍 6주차

SH Park 2023. 8. 20. 20:46

▶6주차 미션 (8/14 ~ 8/20)

진도 : Chapter 06

기본 미션 : 직접 함수 만들고 실행 결과 확인한 인증하기 (p.265 참조)

선택 미션 : Ch 01 ~ Ch 06까지 혼공 노트 활용한 내용 공유하기 

 


Chapter 06 함수  

 

06-1. 함수 활용하기 

  • 함수 (function)
    • 모든 함수에는 이름이 부여되고, 이름을 통해 함수의 기능을 유추할 수 있음 
    • ex) sum --> 주어진 데이터의 합계 구하기
            average --> 주어진 데이터의 평균을 구하기 
    • 함수 이름과 기능이 서로 연결되지 않는다면 문법적으로 문제가 없다고 해도 결코 좋은 함수가 아님
    • 따라서, 함수를 만들 때는 함수의 기능을 잘 표현하는 함수 이름을 짓는 것이 중요함 

 

  • 함수와 관련된 용어
    • 함수를 실행한다 --> 함수를 호출한다
    • 함수 입력값 --> 인수
    • 함수 결괏값 --> 리턴값
    • 함수 결괏값을 전달한다 --> 리턴한다 

 

 


 

  • 파이썬 내장 함수 
    • 파이썬이 기본적으로 제공하는 함수 
    • 모든 프로그래밍 언어는 많이 사용하거나, 중요한 함수를 내장함수로 제공함 

 

abs 함수 : 어떤 수의 절댓값을 계산 

abs(숫자 데이터)

 

len 함수 : 데이터 개수를 계산 

len(데이터 세트)

 

sum 함수 : 숫자 데이터의 합계를 계산 

sum(숫자가 저장된 리스트)

 


 

  • 함수 만들기 
    • 파이썬 내장 함수 : 파이썬이 기본적으로 제공하는 함수
    • 사용자 정의 함수 : 여러분이 만든 함수 
    • 내장 함수든 사용자 정의 함수든 함수를 만드는 방법은 동일함 
    • 함수 만들기 위한 3가지 
      • 함수 이름 : 함수의 기능을 유추할 수 있어야 함 
      • 함수 입력값 : 함수의 기능을 수행할 때 입력값을 받을 수 있음 
      • 함수 결괏값 : 함수의 기능을 수행한 뒤, 그 결괏값을 전달할 수 있음 
def  함수 이름():  --> 함수 헤더 
        함수의 기능을 수행할 코드1
        함수의 기능을 수행할 코드2  --> 함수 바디

  • def (define) --> "내가 함수를 만들거야!" 라고 파이썬에 알려주는 역할 
    그 다음에 함수 이름을 지어주고, 괄호와 콜론을 입력 

 

 

  • 함수 결괏값 (리턴값, return value) 활용하기
    • return : 함수 보디에서 함수를 호출한 곳으로 함수 결괏값을 전달하는 명령어 
    • == 결괏값을 리턴한다  
    • return 명령어가 없는 함수 보디는 자동으로 None 데이터를 리턴한다 
    • == 결괏값 없이 return 명령어만 사용해도 None 데이터를 리턴한다 
1. 결괏값을 리턴하는 함수 만들기 

def 함수 이름():
       return 결괏값 


1) 함수를 호출
2) 호출된 함수 보디를 실행
3) return 명령어가 있는 경우, 함수 결괏값을 리턴 

 

2. return 명령어가 없거나, 전달할 결괏값이 없는 함수 만들기 

return 명령어가 없는 함수 보디 : 자동으로 None 데이터를 리턴함
결괏값 없이 return 명령어만 사용한 보디 : None 데이터를 리턴함 

 


 

  • 리스트에 데이터 추가하기
    • 이미 만들어진 리스트에 데이터를 나중에 추가하는 방법  
    • append : 마지막에 데이터를 추가하는 방법 
    • insert : 중간에 데이터를 추가하는 방법 
append 명령어 : 리스트 끝에 새로운 요소를 추가 

리스트.append(요소로 추가할 데이터)

 

insert 명령어 : 리스트 중간에 새로운 요소를 추가
                      데이터를 추가할 위치를 함께 적어줘야함 (인덱스 기준)

리스트.insert(데이터를 추가하고 싶은 위치, 요소로 추가할 데이터)

 


 

  • 함수 입력값 활용하기 
    • 인수 (argument) : 함수를 호출할 때 전달하는 데이터
    • 매개변수 (parameter) : 함수 보디에서 인수를 저장하는 변수 
def 함수 이름(매개변수1, 매개변수2, ... ):
       return 결괏값 

 


06-2. 다양한 함수의 사례 

함수 이름을 정하는 방법
<함수가 어떤 사물의 상태를 확인하거나 사물을 보유하고 있는지 확인하는 기능>

핵심 !! --> 불 데이터로 리턴하는 것이 관례 
is_ : ~입니까?
has_, have_ : ~을/를 가지고 있습니까?  

ㅇ 함수 이름만으로 리턴값이 불 데이터 라는 것을 예측할 수 있음

 

 

  • 정수가 홀수인지 확인하는 함수 
    • 숫자 데이터의 나머지 연산자(%)를 사용해서 홀수, 짝수 여부를 판단 

 

 

  • 영어 알파벳을 감싸는 테두리를 출력하는 함수 
    • 파이썬 내장 함수 len을 사용해서 문자 데이터의 길이 구하기 
    • 문자 데이터 반복 연결 연산자(*)로 특정 기호를 문자 데이터의 길이만큼 출력해서 문자 데이터를 꾸민다 

강의 참고 --> 코드 풀이 설명 정말 잘되어 있음!

 

 

  • 리스트 요소들의 합계와 평균을 구하는 함수 
    • 숫자를 0으로 나눌 수 없어서 요소의 개수가 0일 때 함수의 실행을 종료해야 한다
    • 리턴값의 개수가 2개 이상이라면 딕셔너리를 활용해서 리턴하는 것이 좋다 

강의 참고 --> 코드 풀이 설명 정말 잘되어 있음!

 

 

  • 초를 시간, 분으로 변환하는 함수 
    • 초를 분 단위로, 분 단위를 시간 단위로. 차례대로 변환하는 것
    • 시간의 변환은 정수 나누기 연산자(//), 나머지 연산자(%) 활용
    • 0시간, 0분 등 불필요한 메시지를 생략하기 위해서 if 조건문과 조건식을 사용 

강의 참고 --> 코드 풀이 설명 정말 잘되어 있음!


🎁기본미션 

 

🎁선택미션