Notice
Recent Posts
Recent Comments
Link
돈이 만드는 세상
#1-2 Python 초급강의 - 함수편 본문
파이썬에서 함수는 기본적으로 정의/호출로 구성되어 있습니다.
[Point] 함수를 정의하면, 해당 함수의 내용도 RAM에 저장이 됩니다.
정의하는 방법
def 함수명(인자1, 인자2, ...): # argument or parameter
구문1
구문2
구문3
...
return 아웃풋 # output이 있는 경우!
def f(wow_x):
result = wow_x + 2
return result
def wow_f(wow_x, wow_y):
return wow_x - wow_y
호출하는 방법
wow_f(2, 3) # -1
wow_f(wow_x=2, wow_y=3) # -1
wow_f(wow_y=3, wow_x=2) # 순서를 바꿔줘도 됨
wow_f(3, wow_y=2) # 항상 positonal argument가 먼저 나오고, keyword argument가 뒤에 나와야함, 여기서 positional argument는 숫자 3을 말합니다.
항상 positonal argument
가 먼저 나오고, keyword argument
가 뒤에 나와야합니다. positional argument을 앞에 넣은 후 중간에 keyword argument를 넣고 다시 positional argument를 넣어도 안된다.
default arguments
def wow_f(x, y, const=0.1):
result (x + y) * const
wow_f(3, 5) # default로 설정되어있기 때문에 전달하지 않아도 0.1로 전달된다.
wow_f(3, 5, 0.2) # 값을 넣게 되면 0.2로 전달되게 된다.
[Point] default argument
를 주고 싶다면, arguments에서 가장 뒤에 위치하게 놓아야 합니다.
return 관련 주의사항
def f(x, y):
print("함수가 호출되었습니다.")
return x + y
result = f(3, 4)
print(result)
# 함수가 호출되었습니다.
# 7
함수 내 구문들은 함수를 호출
할 때만 실행된다는 점을 알 필요가 있습니다.
함수의 4가지 유형
- input O / output O
- input O / output X
- input X / output O
- input X / output X
# 1. input O / output O
def calculate_sum(x, y):
return x + y
result = calculate_sum(1, 2)
# 2. input O / output X
def save_data_in_database(x):
print(x, "를 데이터베이스에 저장하겠습니다")
print("저장 완료하였습니다.")
save_data_in_database(3)
# 3. input X / output O
def get_pi():
return 3.141592
get_pi()
# 4. input X / output X
def get_current_item():
import time
return time.time()
current_time = get_current_time()
current_time
a = save_data_in_database(3)
print(a) # None
RAM에서 새로운 공간을 준비하고 a라는 주소 닉네임을 가지고 기다리고 있는데, return
값이 없어서 해당 공간에 아무것도 넣지 못한 상황입니다. 그래서 공간은 할당받았지만, 해당 공간에 아무것도 없다
라는 것을 나타내기 위해 None
이 쓰이는 것입니다.
함수의 cascading
-func1(func2)과 같은 구조
def get_my_number():
return 7
def my_sum(x, y):
return x + y
#1
my_sum(get_my_number(), 5)
#2
lucky_number = get_my_number()
my_sum(lucky_number, 5)
'프로그래밍 > Python' 카테고리의 다른 글
#3-1 파이썬 pandas 초급 강의(수정 필요) (0) | 2022.02.15 |
---|---|
#2 본격적인 파이썬 공부를 위한 계획표(2022/02/09) (0) | 2022.02.09 |
#1-4 파이썬 초급 강의 - 예외 처리(try/exception) (0) | 2022.02.07 |
#1-3 Python 초급 강의 - 클래스(class) (0) | 2022.02.04 |
#1-1 Python 초급 강의 - 자료형 (0) | 2022.01.24 |