ch05 파이썬 함수 기초
💡 이번 차시의 학습목표
✔ 함수의 의미, 함수 문법
✔ 함수 연습
✔ 사용자 정의 함수, 내장 함수
01. 함수
- 특정 기능을 수행하기 위한 코드블록
- def 키워드를 이용하여 함수를 정의 → 매개변수, 리턴 등
- 함수 내에 작성한 코드는 항상 실행되는 것이 아니라 호출을 해야 실행됨
- 함수의 기본 구조
# 매개변수 x, 리턴 x def [함수이름]: 함수호출시 실행내용 # 매개변수 x, 리턴 o def [함수이름]: 함수호출시 실행내용 return 리턴문장 # 매개변수 o, 리턴 x def [함수이름(매개변수)]: 함수호출시 매개변수를 활용하는 실행내용 # 매개변수 o, 리턴 o def [함수이름(매개변수)]: 함수호출시 매개변수를 활용하는 실행내용 return 리턴문장
- 안녕하세요를 출력해보는 함수
- 함수를 호출하면 '안녕하세요'를 함수 내부에서 출력
ex01_function_basic.py def hello(): print("안녕하세요1") hello()
- 함수를 호출하면 '안녕하세요'를 리턴받아 리턴값을 함수 외부에서 출력
ex02_function_return.py def hello(): # return "안녕하세요" hello = "안녕하세요" return hello # print(hello()) return_var = hello() print(return_var)
- 함수를 호출하면서 '안녕하세요'를 전달하고 함수 내부에서 출력
ex03_function_param.py def hello(h): print(h) # hello("안녕하세요") param_var = "안녕하세요" hello(param_var)
- 함수를 호출하면서 '안녕하세요'를 전달하고 함수 내부에서 뒤에 “반갑습니다”를 붙이고 리턴하여 함수 외부에서 출력
ex04_function_param_return.py def hello(h): return_value = h + "반갑습니다" return return_value param_var = "안녕하세요" result = hello(param_var) print(result)
- 함수를 호출하면 '안녕하세요'를 함수 내부에서 출력
02. 사용자 정의 함수, 내장함수
- 사용자 정의 함수
- 필요한 기능을 개발자가 직접 함수로 정의. 필요할 때마다 호출하여 사용할 수 있음
- 함수이름, 매개변수, 실행내용, 리턴값 등을 정의함
- 내장함수
- 파이썬에서 기본적으로 제공하는 함수
- 대표적인 내장함수(일부만 소개)
✅input(): 사용자 입력으로 받은 값을 문자열로 반환
✅len(): 문자열, 리스트, 튜플, 딕셔너리 등의 길이(항목수)를 반환
✅min(): 매개변수로 전달받은 변수의 최솟값을 반환
✅max(): 매개변수로 전달받은 변수의 최댓값을 반환
✅type(): 변수의 자료형을 반환
✅ print(): 매개변수로 전달하는 값 또는 변수 값을 콘솔에 출력
ch06 파이썬 함수 응용
💡 이번 차시의 학습목표
✔ 이전 차시에서 진행한 예제를 활용하여 다양한 방법으로 함수로 구성하기
실습 1) 1부터 100까지 숫자 중에서 3의배수 합계 구하기
- 기존 코드를 함수 내부에 정의하고 호출하여 실행하기
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()
- 사용자에게 숫자를 입력 받아 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)
- 합계 결과를 반환 받아서 출력하기
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) 일치하는 이름 찾기
- 기존 코드를 함수 내부에 정의하고 호출하여 실행하기
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()
- 찾고자 하는 이름을 사용자에게 입력 받아 매개변수로 넘기기
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)
- 찾고자 하는 이름과 이름 리스트를 매개변수로 넘기기
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. 모듈
- 함수, 클래스 등을 정의한 파이썬 파일
- 다른 파이썬 파일에서 호출하여 사용할 수 있음
- 문법
- import
- 다른 파일에 정의된 함수 변수 등을 모두 사용할 수 있음
- 호출할 때는 파일이름.함수이름() 형태로 호출함
- as를 이용하여 이름을 줄일 수 있음
- import [해당파일이름(.py는 생략)] import [해당파일이름(.py는 생략)] as [약어]
- from ~ import ~
- 다른 파일의 특정 함수만 지정하여 가져오는 방법
- from [해당파일이름(.py는 생략)] import [함수이름]
- import
02. 모듈 연습하기
- 모듈 사용시 실행하면 폴더 내에 [✅**pycache]** 라는 폴더가 생성
- [✅**pycache]** 폴더는 다음 번 실행시 더 빠른 실행을 위해 파이썬 자체에서 만들어내는 폴더
- 하나의 파일에 함수와 호출 문장이 함께 존재
ex01_main.py def hello(): print("안녕하세요") hello()
- 함수와 호출하는 문장이 서로 다른 파일에 존재
ex02_main.py import ex02_function as ex # hello() # 오류 # ex02_function.hello() ex.hello() ex02_function.py def hello(): print("안녕하세요")
- 함수가 정의된 파일에 함수가 2개 정의된 경우
- 파일 전체 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()
- hello1 함수만 import
ex04_functions.py def hello1(): print("안녕하세요. hello1") def hello2(): print("안녕하세요. hello2") ex04_main.py from ex03_functions import hello1 hello1() # hello2() # 오류
- 함수를 모두 import 하고 함수 이름으로만 호출
ex05_functions.py def hello1(): print("안녕하세요. hello1") def hello2(): print("안녕하세요. hello2") ex05_main.py from ex05_functions import * hello1() hello2()
- 파일 전체 import
'Python' 카테고리의 다른 글
[Python] 유튜브 크롤링(1) (0) | 2024.03.19 |
---|---|
[Python] Selenium 소개 및 사용법 (0) | 2024.03.18 |
[Python] 패키지 설치 및 numpy, matplotlib 기초 (0) | 2024.03.15 |
[Python] 조건문과 반복문 (0) | 2024.03.08 |
[Python] 파이썬 기본 문법 (0) | 2024.01.30 |