ch05 파이썬 함수 기초

💡 이번 차시의 학습목표

✔ 함수의 의미, 함수 문법

✔ 함수 연습

✔ 사용자 정의 함수, 내장 함수

 

01. 함수

  1. 특정 기능을 수행하기 위한 코드블록
  2. def 키워드를 이용하여 함수를 정의 → 매개변수, 리턴
  3. 함수 내에 작성한 코드는 항상 실행되는 것이 아니라 호출을 해야 실행
  4. 함수의 기본 구조
    # 매개변수 x, 리턴 x
    def [함수이름]:
    	함수호출시 실행내용
    
    # 매개변수 x, 리턴 o
    def [함수이름]:
    	함수호출시 실행내용
    	return 리턴문장
    
    # 매개변수 o, 리턴 x
    def [함수이름(매개변수)]:
    	함수호출시 매개변수를 활용하는 실행내용
    	
    # 매개변수 o, 리턴 o
    def [함수이름(매개변수)]:
    	함수호출시 매개변수를 활용하는 실행내용
    	return 리턴문장​​
  5. 안녕하세요를 출력해보는 함수
    1. 함수를 호출하면 '안녕하세요'를 함수 내부에서 출력
      ex01_function_basic.py
      
      def hello():
          print("안녕하세요1")
      
      hello()


    2. 함수를 호출하면 '안녕하세요'를 리턴받아 리턴값을 함수 외부에서 출력
      ex02_function_return.py
      
      def hello():
          # return "안녕하세요"
          hello = "안녕하세요"
          return hello
      # print(hello())
      return_var = hello()
      print(return_var)


    3. 함수를 호출하면서 '안녕하세요'를 전달하고 함수 내부에서 출력
      ex03_function_param.py
      
      def hello(h):
          print(h)
      # hello("안녕하세요")
      param_var = "안녕하세요"
      hello(param_var)


    4. 함수를 호출하면서 '안녕하세요'를 전달하고 함수 내부에서 뒤에 “반갑습니다”를 붙이고 리턴하여 함수 외부에서 출력
      ex04_function_param_return.py
      
      def hello(h):
          return_value = h + "반갑습니다"
          return return_value
      
      param_var = "안녕하세요"
      result = hello(param_var)
      print(result)

02. 사용자 정의 함수, 내장함수

  1. 사용자 정의 함수
    1. 필요한 기능을 개발자가 직접 함수로 정의. 필요할 때마다 호출하여 사용할 수 있음
    2. 함수이름, 매개변수, 실행내용, 리턴값 등을 정의함
  2. 내장함수
    1. 파이썬에서 기본적으로 제공하는 함수
    2. 대표적인 내장함수(일부만 소개)
      ✅input(): 사용자 입력으로 받은 값을 문자열로 반환
      ✅len(): 문자열, 리스트, 튜플, 딕셔너리 등의 길이(항목수)를 반환
      ✅min(): 매개변수로 전달받은 변수의 최솟값을 반환
      ✅max(): 매개변수로 전달받은 변수의 최댓값을 반환
      ✅type(): 변수의 자료형을 반환
      ✅ print(): 매개변수로 전달하는 값 또는 변수 값을 콘솔에 출력

 

 

ch06 파이썬 함수 응용

💡 이번 차시의 학습목표

✔ 이전 차시에서 진행한 예제를 활용하여 다양한 방법으로 함수로 구성하기

 

실습 1) 1부터 100까지 숫자 중에서 3의배수 합계 구하기

  1. 기존 코드를 함수 내부에 정의하고 호출하여 실행하기
    ex01_1to100sum_function_01.py
    
    def sum1():
        sum = 0
        for i in range(1,101):
            if i%3 == 0:
                print(i)
                sum += i
        print("1부터 100까지 3의배수 합은",sum,"입니다")
    
    # 함수호출
    sum1()​


  2. 사용자에게 숫자를 입력 받아 1부터 입력 받은 숫자까지 3의 배수 합계 구하기
    ex01_1to100sum_function_02.py
    
    def sum2(num):
        sum = 0
        for i in range(1,num+1):
            if i%3 == 0:
                print(i)
                sum += i
        print("1부터 ",num,"까지 3의배수 합은",sum,"입니다")
    
    num2 = input("숫자를 입력하세요: ")
    num2 = int(num2)
    sum2(num2)​


  3. 합계 결과를 반환 받아서 출력하기
    ex01_1to100sum_function_03.py
    
    def sum3(num):
        sum = 0
        for i in range(1,num+1):
            if i%3 == 0:
                print(i)
                sum += i
        return sum
    
    num3 = input("숫자를 입력하세요: ")
    num3 = int(num3)
    result3 = sum3(num3)
    print("1부터 ",num3,"까지 3의배수 합은",result3,"입니다")

 

 

 

 

실습 2) 일치하는 이름 찾기

  1. 기존 코드를 함수 내부에 정의하고 호출하여 실행하기
    ex02_findname_function_01.py
    
    def findname1():
        names1 = ["김파이", "이파이", "박파이", "최파이"]
        search_name1 = input("찾아볼 이름을 입력하세요:")
        if search_name1 in names1:
            print("찾는 이름이 있습니다.")
            print(names1.index(search_name1))
        else:     
            print("찾는 이름이 없습니다.")
    
    findname1()


  2. 찾고자 하는 이름을 사용자에게 입력 받아 매개변수로 넘기기
    ex02_findname_function_02.py
    
    def findname2(name2):
        names2 = ["김파이", "이파이", "박파이", "최파이"]
    
        if name2 in names2:
            print("찾는 이름이 있습니다.")
            print(names2.index(search_name2))
        else:     
            print("찾는 이름이 없습니다.")
    
    search_name2 = input("찾아볼 이름을 입력하세요:")
    findname2(search_name2)


  3. 찾고자 하는 이름과 이름 리스트를 매개변수로 넘기기
    ex02_findname_function_03.py
    
    def findname3(name3, names3): 
        if name3 in names3:
            print("찾는 이름이 있습니다.")
            print(names3.index(search_name3))
        else:     
            print("찾는 이름이 없습니다.")
    
    names3 = ["김파이", "이파이", "박파이", "최파이"]
    search_name3 = input("찾아볼 이름을 입력하세요:")
    findname3(search_name3, names3)

 

 

ch07 파이썬 모듈과 모듈 활용

💡 이번 차시의 학습목표

✔ 파이썬 모듈 이해하기

✔ 파이썬 모듈 사용하기

01. 모듈

  1. 함수, 클래스 등을 정의한 파이썬 파일
  2. 다른 파이썬 파일에서 호출하여 사용할 수 있음
  3. 문법
    1. import
      1. 다른 파일에 정의된 함수 변수 등을 모두 사용할 수 있음
      2. 호출할 때는 파일이름.함수이름() 형태로 호출함
      3. as를 이용하여 이름을 줄일 수 있음
      4. import [해당파일이름(.py는 생략)] import [해당파일이름(.py는 생략)] as [약어]
    2. from ~ import ~
      1. 다른 파일의 특정 함수만 지정하여 가져오는 방법
      2. from [해당파일이름(.py는 생략)] import [함수이름]

02. 모듈 연습하기

  1. 모듈 사용시 실행하면 폴더 내에 [✅**pycache]** 라는 폴더가 생성
  2. [✅**pycache]** 폴더는 다음 번 실행시 더 빠른 실행을 위해 파이썬 자체에서 만들어내는 폴더
  3. 하나의 파일에 함수와 호출 문장이 함께 존재
    ex01_main.py
    
    def hello():
        print("안녕하세요")
    
    hello()


  4. 함수와 호출하는 문장이 서로 다른 파일에 존재
    ex02_main.py
    
    import ex02_function as ex
    
    # hello() # 오류
    # ex02_function.hello()
    ex.hello()
    
    ex02_function.py
    
    def hello():
        print("안녕하세요")


  5. 함수가 정의된 파일에 함수가 2개 정의된 경우
    1. 파일 전체 import
      ex03_functions.py
      
      def hello1():
          print("안녕하세요. hello1")
      
      def hello2():
          print("안녕하세요. hello2")
      
      ex03_main.py
      
      import ex03_functions
      
      # hello1() # 오류
      ex03_functions.hello1()
      ex03_functions.hello2()


    2. hello1 함수만 import
      ex04_functions.py
      
      def hello1():
          print("안녕하세요. hello1")
      
      def hello2():
          print("안녕하세요. hello2")
      
      ex04_main.py
      
      from ex03_functions import hello1
      
      hello1()
      # hello2() # 오류


    3. 함수를 모두 import 하고 함수 이름으로만 호출
      ex05_functions.py
      
      def hello1():
          print("안녕하세요. hello1")
      
      def hello2():
          print("안녕하세요. hello2")
      
      ex05_main.py
      
      from ex05_functions import *
      
      hello1()
      hello2()

 

 

 

 

 

 

 

+ Recent posts