본문 바로가기
삼정KPMG Future Academy/Python

3주차 - Day 1. Python 함수

by _이유 2025. 10. 13.

< 9.a 강의 - functions and docstring >

  • functions: 모듈의 가장 작은 단위
  • docstring: 파이썬에서 모듈, 함수, 클래스 등을 정의할 때 사용되는 설명 문자열

Functions

  • 함수: 재사용되는 코드 블럭
  • Data or arguments가 전달되고 결과가 return됨
  • 라이브러리: 재사용 잘 되는 함수를 남들이 미리 만들어놓은 것
  • 함수를 나타내는 정의(문법)

  • 함수의 실행 순서

  • return이 없는 경우
    • ex)
# 한개의 숫자를 받아서 제곱을 하여 문자로 출력하는 기능 구현
# 정의부(실행 기능 구현)
def num_square(n):
	# 받은 숫자 제곱하기
    # 결과 출력
    print(f"{n}을 제곱한 결과 : {n**2}")
# 호출부(불러 쓰는 부분)
num=20
num_square(num)
  • return이 있는 경우
    • 함수의 처리 결과를 호출 이후에 사용해야 할 때
    • 함수 안에 처리한데이터는 함수 실행이 끝나면 메모리에서 지워짐
# 정의부 (실행 기능 구현)
def num_square(n):
	# 받은 숫자 제곱하기
    # 처리 결과를 호출한 부분으로 보내줌
    return n**2
# 호출부 (불러 쓰는 부분)
num=20
num2=100
result=num_square(num)
# 리턴 받은 결과를 num2와 더해서 출력
print(f"{result}와 {num2}를 더한 결과 : {result+num2}")
  • Parameter가 하나인 경우
    • 어떤 숫자 1개를 입력으로 주면, 그 숫자를 제곱해서 리턴하는 함수
    • 함수를 호출하는 부분을 먼저 정의
    • 함수를 만들 사용자에게 요청, 함수 호출
    • 함수 이름, 넘겨줄 값, 받는 값
    • 호출: 출력하는 함수
  • Parameter가 두개인 경우
# 어떤 숫자와 제곱 횟수를 입력받으면, 그 숫자의 몇제곱해서 리턴하는 함수
# 정의부
def num_exp(n,e):
	return n**e
# 입력: 4**10 -> 4, 10
# 출력: 4**10의 결과는 {결과}입니다.
# 호출부
num=4
exp=10
result=num_exp(num, exp) # 함수 호출
print(f"{num}**{exp}의 결과는 {result}입니다.")
  • Return 값이 둘 이상인 경우
# 숫자 두개를 입력받으면, 그 숫자들로 나눠서, 몫과 나머지를 리턴하는 함수
# 정의부
# 그 숫자들로 나눠서, 몫과 나머지를 리턴
def cal_share_remain(num1, num2):
  # 두 숫자들로 나눠서 몫
  share = num1//num2
  # 두 숫자 나눠서 나머지
  remain = num1%num2
  return share, remain
  
# 호출부 방법1
# 숫자 두개를 입력받으면, 몫과 나머지 출력
# 두 숫자
num1 = 40
num2 = 5
# remain, share
result = cal_share_remain(num1, num2)
# 출력
result
# 40을 5로 나누면 몫은 8, 나머지는 0입니다.
print(f"{num1}을 {num2}로 나누면 몫은 {result[0]}, 나머지는 {result[1]}입니다.")

or

# 호출부 방법2
# 숫자 두개를 입력받으면, 몫과 나머지 출력
# 두 숫자
num1 = 40
num2 = 5
# remain, share <- 리턴값이 2개이기 때문에 순서대로 변수에 대입
result1, result2 = cal_share_remain(num1, num2)
# 출력
# 40을 5로 나누면 몫은 8, 나머지는 0입니다.
print(f"{num1}을 {num2}로 나누면 몫은 {result1}, 나머지는 {result2}입니다.")
  • Default Parameter
# 나이를 입력받으면, 나이가 몇인지 화면에 출력하는 함수

# 함수 정의부
# age=30 <- 디폴트 매개변수
def print_age(age=30):
  return f"나이는 {age}살 입니다."
  
# 호출부
age=input("나이입력>> ")
# age=30
print(print_age(age))
  • Built-In Functions

함수에 주석을 달 수 있음

  • Docstring: 함수가 어떻게 동작하는지 comment를 달 때 사용
# 함수 정의
def print_age(age=30):
  """
  # age=30 <- 디폴트 매개변수
  # return str
  """
  return f"나이는 {age}살 입니다."
print_age()

< 11. 파일다루기 >

텍스트 파일의 처리

  • 파일 열기 open() - 파일 읽기 file.read() - 파일 쓰기 close()

open() 함수

파일 객체 = open(문자열:파일 경로, 문자열:읽기 모드)
w : write 모드
a : append 모드
r : read 모드

 

close() 함수

file = open("basic.txt", "w")
file.write("Hello Python Programming...!")
file.close()
  • 프로그램 실행 시 폴더에 basic.txt. 파일 생성
  • open() 함수로 열면 close() 함수로 닫아야 함

read() 함수

with open("basic.txt","r") as file:
	contents=file.read()
print(contents)

 

  • 텍스트 한 줄씩 읽기
    • CSV, XML, JSON 방법 등으로 텍스트를 사용해 데이터를 구조적으로 표현

with 구문

  • 블록을 벗어날 때 close() 함수를 자동으로 호출하는 구문
with open("파일이름","모드:w,r,a") as file:
	file.read()