함수의 기본 구조 - def
함수란 자주 사용하는 기능을 묶어놓은 것.
필요시에 언제든지 사용할 수 있고, 코드 분석할 때도 어떤 기능을 하는지 한눈에 파악 가능하여 유지/보수가 편리하다.
파이썬에서 함수를 만들 때에는 def 라는 키워드를 사용한다. (define의 줄임말)
→ JS에서 함수 만들 때 function 붙이는거랑 같다고 생각하면 쉽다.
def hello1():
print("study python!")
hello1()
함수의 종류 1. 입력값 x, 결과값 x
함수에 매개변수가 없고, return도 없이 그냥 호출하는 방법.
함수 정의하는 제일 기본적인 구조.
def say_hello3():
print('hello')
print('hello')
print('hello')
say_hello3()
함수의 종류 2. 입력값 o, 결과값 x
매개변수는 있지만 return은 없는 함수.
호출 시에 인자로 들어가는 값만큼 실행한다.
def say_hello(n):
for i in range(n):
print('hello')
say_hello(3)
'''
hello
hello
hello
'''
def hello2(name):
print("Hello!")
print(name)
hello2("Linda")
'''
Hello
Linda
'''
다수의 매개변수 넘기기
Python에서도 여러 개의 매개변수를 넘길 수 있다.
매개변수는 함수를 정의할 때 값을 받을 변수의 이름.
인자는 함수 호출 시에 함수에 넘겨주는 값.
매개변수와 인자의 개수가 동일하지 않으면, 실행했을 때 오류가 발생한다.
def number_sum(a, b):
print(a + b)
number_sum(3, 5)
# ------------------------------------------------------------
## 함수에서 if문 사용하기
def comparison(x, y):
if x > y:
print(x, '가 더 크다')
elif x < y:
print(y, '가 더 크다')
else:
print(x, '=', y, '서로 같다')
comparison(2, 4) # 4가 크다
comparison(3, 1) # 3가 크다
comparison(7, 7) # 7=7 같다
# ------------------------------------------------------------
## 오류 발생 예시 코드
def what_to_say(param1):
print(param1)
what_to_say("Hello", "World")
def plus(a, b, c):
return a + b + c
print(plus(2, 2))
함수의 종류 3. 입력값 x, 결과값 o
매개변수는 없지만 return이 있는 함수.
함수를 호출하면 return에 따라 결과가 출력된다.
만약 return에 결과값이 설정되지 않으면 None이 출력된다.
def say_yes():
return 'Yes!'
print(say_yes())
# -> yes!!!
def func_return():
return # 결과값 없음
print(func_return())
# -> 결과값이 없어서 None 출력
함수의 종류 4. 입력값 o, 결과값 o
매개변수와 return이 모두 있는 함수
def square_area(width, height):
return width * height
a = 3
b = 4
print(square_area(a, b)) # 12
함수 내부에서 함수 호출하기
def first(n):
return n * 2
def second():
x= first(3) + 5
# 내부에서 first() 함수 호출 -> 3 * 2 + 5
return x
print(second()) # 11
※ 코드 확인하기 → https://github.com/hjinn0813/python-start
GitHub - hjinn0813/python-start: 2024.06 study basic of python
2024.06 study basic of python. Contribute to hjinn0813/python-start development by creating an account on GitHub.
github.com
'💾 Backend > Python' 카테고리의 다른 글
Python 예외처리 (try, except, as) (0) | 2024.06.18 |
---|---|
Python 모듈 (import, random, math) (0) | 2024.06.18 |
Python 반복문 - while (0) | 2024.06.14 |
Python 반복문 - for (0) | 2024.06.13 |
Python 조건문 (if, elif, else) (0) | 2024.06.13 |