안녕하세요?
이번 시간엔 파이썬에서의 함수에 대해 알아볼 거에요.
정말 기대되죠?
함수는 소프트웨어에서 특정 동작을 수행하는 일정 부분 코드의 의미에요.
함수는 복잡한 실행을 해야 하는 코드에 주로 쓰여요.
한번 만들어두면 계속 쓸 수 있고 값만 대입하면 되서 간단해요.
함수의 형식도 알아볼까요?
우선 함수의 형식부터 알아볼게요.
def 함수명(매개변수)
코드블록
return 반환값
만약 원하는 두 수를 더해주는 함수를 만들고 싶다면 아래와 같이 하면 되겠죠?
def plus(a,b):
result = a + b
return result
print(plus(5,3))
이렇게 한다면 숫자 8이 출력되겠죠?
그런데 더해줄 두 수를 코드에서 정하는 게 아닌 실행시켰을 때 정할 수 있게 만들려면 어떻게 하면 좋을까요?
바로 아래와 같이 하면 돼요.
def plus(a,b):
result = a + b
return result
a = int(input("첫번째 숫자를 입력해주세요."))
b = int(input("첫번째 숫자를 입력해주세요."))
print(plus(a,b))
만약 첫 번째 숫자를 4, 두번째 숫자를 3으로 한다면 7이 나와요.
지금가지 함수의 형식을 예시를 통해 알아봤어요.
그렇다면 함수는 어디에 활용할 수 있을까요?
함수는 정말 다양한 곳에 활용할 수 있어요.
def getFileName(trg_path):
folderlist = os.listdir(trg_path)
wb = op.Workbook()
ws = wb.active
i = 2
current_folder = trg_path
filelist = os.listdir(current_folder)
for fname in filelist:
ws.cell(row = i, column=1).value = current_folder + "/"
ws.cell(row = i, column=2).value = fname
i = i + 1
ws.cell(row=1, column=1).value ="파일경로"
ws.cell(row=1, column=2).value ="파일명(변경전)"
ws.cell(row=1, column=3).value ="파일명(변경후)"
wb.save(os.path.join(trg_path, "filelist.xlsx"))
이처럼 폴더별 파일명을 받아 엑셀 파일에 작성하는 등 파일 정리 같은 일에 쓸 수도 있고
def bmiCal(weight,height):
BMI = weight / (height * height)*10000
print("당신의 BMI 수치는",BMI,"입니다.")
if(BMI<=18.5):
print("당신은 저체중입니다.")
elif(BMI<=23):
print("당신의 체중은 정상입니다.")
elif (BMI <= 25):
print("당신은 과체중 입니다.")
else:
print("당신은 비만 입니다.")
print("BMI 계산기.")
height = int(input("키를 입력해주세요.:"))
weight = int(input("몸무게를 입력해주세요.:"))
bmiCal(weight,height)
이처럼 BMI계산기 같은 유용한 기능을 만들 때 쓸 수도 있어요.
여러분도 코딩으로 이러한 유용한 함수 혹은 여러분만의 독창적인 프로그램을 만들어보세요!
분명 해낼 수 있을 거에요.