오늘은 저번시간에 배운 함수에 이어 매개변수의 기본값 설정을 지정해주는 것에서 강의가 시작되었다.
하필 학교가는 날 어제보다 분량도 많고 과제도 있어서 시간에 쫓겨 부랴부랴 했다..ㅠㅠ
니꼴라스가 이해하기 쉽게 풀어서 설명해줬는데, 설명한 내용들을 바탕으로 정리해서 포스팅하려고 한다.
매개변수 기본값 설정
def say_hello(user_name = "anonymous" ):
print("hello", user_name)
say_hello("nico")
say_hello()
다음과 같이 매개변수 user_name이 존재할고 함수를 실행할 때 인자값을 주지않으면 에러가 발생한다.
그렇다면 인자값을 주지않고 기본값을 설정하고 싶으면 어떻게 하면 좋을까?
매개변수 값 user_name에 기본값으로 설정하고 싶은 단어를 지정해주면 된다.
앞의 코드와 같이 user_name = "anonymous"로 지정한다면 say_hello 함수를 실행할 때, 인자값으로 아무값도 주지않아도 기본 값인 anonymous가 출력된다.
Return
def tax_calc(money):
return money * 0.35
함수는 믹서기와 같은 역할을 한다고 보면 된다.
예를 들어 믹서기에 과일을 넣고 다시 꺼내려고 한다면 함수에서는 return 값을 쓰면 된다.
return 값은 함수에서 추출한 값을 밖으로 꺼내고 함수를 끝내버리는 역할을 한다.
format
format 함수는 문자열에 특정 값을 넣을 때 사용한다.
노마드코드 챌린지 3일차에서는 포매팅에도 여러 종류가 존재하지만 f문자열 포매팅을 사용했다.
코드는 다음과 같다.
my_name = "nico"
my_age = 12
my_color_eyes = "brown"
print(f"Hello I'm {my_name}, I have {my_age} years in the earth, {my_color_eyes} is my eye color")
f 포매팅은 해당 구문에 원하는 변수를 넣고 싶을때 중괄호를 이용하여 대입하는 방식이다.
앞서 말한 return과 format을 응용하여 함수를 작성하면 다음과 같다.
def make_juice(fruit):
return f"{fruit}+🥤"
def add_ice(juice):
return f"{juice}+🧊"
def add_sugar(iced_juice):
return f"{iced_juice}+🍬"
juice = make_juice("🍎")
cold_juice = add_ice(juice)
perfect_juice = add_sugar(cold_juice)
print(perfect_juice)
If문
제어문중 하나인 If문을 새롭게 배우게 되었다.
If문 또한 함수와 조건문 다음 콜론(:)을 붙여야하며, 같이 조건문 아래에 모든 문장에 들여쓰기를 해주어야 한다.
예시를 보면 알수있는데,
a = 10
if a == 10:
print("True")
if문 아래에 들여쓰기 한 것을 볼 수 있다.
만약 들여쓰기를 하지 않는다면, 코드상 if문으로 판독하지 못하여 에러가 뜨니까 꼭 주의해야 한다.
elif와 else
elif는 if문의 조건 외 다른 조건을 확인할 때 사용되며, else는 if문과 elif문의 조건 외 모든 조건에 해당된다.
이 또한 예시를 보면 알 수 있는데,
winner = 10
if winner > 10:
print("Winner is greater than 10")
elif winner < 10:
print("Winnber is less than 10")
else:
print("Winner is 10")
1. winner라는 변수가 10 초과일때는 if문 조건을 수행.
2. winner라는 변수가 10 미만일때는 elif문을 수행
3. 위에 조건들이 맞지 않을 시 "winner is 10" 문장 출력
순으로 코드가 진행된다고 보면 된다.
어떤 조건이 True가 되는 순간 뒤에 코드는 실행시키지 않으며, elif와 else 구문은 굳이 안써도 된다.
노마드코드 과제
# Write your code here:
# Don't touch anthing below this line 🙅🏻♂️🙅🏻♀️
monthly_revenue = 5500000
monthly_expenses = 2700000
tax_credits = 0.01
def get_yearly_revenue(monthly_revenue):
yearly_revenue = monthly_revenue * 12
return yearly_revenue
def get_yearly_expenses(monthly_expenses):
yearly_expenses = monthly_expenses * 12
return yearly_expenses
def get_tax_amount(profit):
tax_amount = 0
if profit > 100000:
amount += profit * 0.25
else:
amount += profit * 0.15
return tax_amount
def apply_tax_credits(tax_amount, tax_credits):
discount = tax_amount * tax_credits
return discount
profit = get_yearly_revenue(monthly_revenue) - get_yearly_expenses(monthly_expenses)
tax_amount = get_tax_amount(profit)
final_tax_amount = tax_amount - apply_tax_credits(tax_amount, tax_credits)
print(f"Your tax bill is: ${final_tax_amount}")
과제를 진행하면서 에러가 조금 보였지만, 그래도 3일차인만큼 쉽게 진행했던 것 같다.
처음에 코드 순서가 맞지 않아서 에러가 떠서 당황했는데, 앞으로는 주의해야겠다.
'Language > Python' 카테고리의 다른 글
노마드코더 파이썬 챌린지 8,9일차 (0) | 2023.03.23 |
---|---|
노마드코더 파이썬챌린지 6일차 (0) | 2023.03.19 |
노마드코더 파이썬 챌린지 5일차 (0) | 2023.03.18 |
노마드코더 파이썬 챌린지 4일차 (0) | 2023.03.17 |
노마드코더 파이썬 챌린지 2일차 (0) | 2023.03.14 |