모두를 위한 파이썬(PY4E) [4. 함수] 강의

권혁준·2022년 4월 3일
0
post-thumbnail

Charles R. Severance (찰스 R. 세브란스)의 <모두를 위한 파이썬(PY4E)> 수강 내용
https://www.boostcourse.org/cs122/joinLectures/284901

4. 함수

1) 함수의 개념

학습목표

함수의 개념을 이해하고 내장 함수를 잘 사용할 수 있다.

핵심키워드

  • 함수
  • 내장 함수

함수(Function)
함수는 반복적으로 호출해야 하는 코드의 묶음을 하나의 블럭으로 만들어 이름을 붙여 재사용률을 높인 "코드의 묶음"이다.

ex) 이를 닦는다를 5살짜리 아이에게 가르친다고 생각할 때 안타깝게도 아이는 각 단계를 매일 하나하나 알려줘야 한다고 가정해보자

치약과 칫솔을 꺼낸다 → 치약을 칫솔에 1cm가량 바른다 → 물을 묻힌다 → 윗니를 닦는다 → 아랫니를 닦는다 → 물로 헹군다

만약 위와 같은 과정을 매일 반복해서 알려줘야 한다면, 귀찮고 짜증나는 일이 될 것이다.
이것을 하나의 함수로 정의한다면 아래와 같이 될 것이며, 양치질()이라는 함수의 이름만 호출하게 되면 :(콜론) 이후에 입력해 놓은 실행 코드를 순차적으로 실행하게 된다.

def 양치질():
	치약과 칫솔을 꺼낸다
    치약을 칫솔에 1cm가량 바른다
    물을 묻힌다
    윗니를 닦는다
    아랫니를 닦는다
    물로 헹군다

내장 함수
파이썬에는 이미 정의된 함수들이 있다. 우리가 지금까지 사용해 왔던 내장 함수들은 아래와 같다.

print("Hello World") # (괄호) 안의 내용을 출력하는 함수
input() # (괄호) 안의 사용자 입력값을 받는 함수
float() # (괄호) 안의 값을 float로 변환하는 함수
int() # (괄호) 안의 값을 int로 변환하는 함수

2) 함수 만들기

학습목표

함수의 개념을 이해하고 나만의 함수를 만들 수 있다.
매개변수를 사용하는 정의된 함수를 호출할 때 인자를 전달하여 원하는 결과를 볼 수 있다.

핵심키워드

  • 함수
  • 인자(Argument)
  • 매개변수(Parameter)

우림만의 함수 만들기
함수를 만드는 과정에서 가장 중요한 것은 저장과 호출에 대한 이해이다.
앞서 살펴본 것처럼 함수를 저장하기 위해서는 def라는 예약어를 사용한다.

def greeting():
	print("Hello World")
  • :(콜론) 뒤에 프로그래머들이 실행하고자 하는 실행코드르 입력하는 것으로 프로그래머들이 원하는 결과(만약 "Hello World"가 출력되기를 바란다면)를 기대할 수는 없다.
    여기까지는 함수를 정의하는 단계이다.
    지금부터는 호출 방법이다.
    원하는 결과를 즉, Hello World가 실행되기를 바란다면 프로그래머가 정의한 이름으로 저장된 함수를 호출해야 한다.
    여기서는 greeting()이라는 이름으로 호출하면 된다.
def greeting():
	print("Hello World")

greeting()
# Hello World가 출력

인자(Argument)
인자란 함수를 호출할 때 전달하는 값을 말한다. 넘겨 받는 수 또는 값이라고 생각하면 쉽게 이해할 수 있을 듯하다. 앞서 사용했었던 print 함수에 들어가는 문자열도 인자다.

매개변수(Parameter)
매개변수는 함수가 정의된 곳에서 변수처럼 사용하는 것을 말한다

def greeting(lang):
	print(lang)

greeting("Hello World")

# Hello World가 출력

반환값(Return Value)
종종 함수는 함수가 정의된 곳에서 매개변수를 이용해 프로그래머가 의도한 코드를 실행한 뒤, 계산 결과인 값을 변환할 수도 있다.
이와 같은 상황이라면 당연히 함수를 다른 함수의 인자로 사용할 수도 있다.

def greet():
	return "Hello"

print(greet(),"Connect")
print(great(),"Python")

# Hello Connect으로 출력
# Hello Python으로 출력

Multiple 매개변수 / 인자
여러개의 매개변수를 받는 함수를 만들 수도 있다. 더하기 함수를 한번 만들어 보도록 하자.

def add(left,right)
	return left + right
    
print(add(1,2))

# 3으로 출력

3) 함수 만들기

실습
Exercise 4-6
Rewrite your pay computation with time-and-a-half for overtime and create a function called computepay which takes two parameters(hours and rate).

def comutepay(hours, rate) :
	print("In computepay", hours, rate)
    if hours > 40 :
    	regp = rate * hours
    	ovtp = (hours-40.0) * (rate * 0.5)
    	pay = regp + ovtp
	else:
		pay = hours * rate
    # print("Returning", pay)
    return pay
    
sh = input("Enter Hours: ")
sr = input("Enter Rate: ")
fh = float(sh)
fr = float(sr)

comutepay(fh,fr)

print("Pay:",up)

4) Quiz 4

profile
비전공개발자의 개발일지

0개의 댓글

관련 채용 정보