# 반갑습니다
# 파이썬의 세계로 오신 것을 환영합니다
def greet(): # 함수의 정의
print("반갑습니다")
print("파이썬의 세계로 오신 것을 환영합니다")
print(greet()) # 함수의 호출
반갑습니다, 파이썬의 세계로 오신 것을 환영합니다, 이 두 문장을 한 번에 실행하고 싶다면?
함수라는 것에 묶으면 한 번의 명령으로 위의 두 문장을 실행시킬 수 있다.
def greet()
이는 파이썬 프롬프트에게, 지금부터 greet이라는 이름의 함수를 만들 거다, 라고 말하는 것.
들여쓰기 상태로 함수에 속하는 문장인지 아닌지를 판단한다.
결국 함수라는 것은 여러 문장들을 담아 놓은 상자. 그런데 다음과 같이 함수를 만들어서 함수 안으로 값을 전달할 수도 있음.
def greet(name):
print(name, "반갑습니다")
print(name, "환영합니다")
print(greet("eden"))
# 출력
eden 반갑습니다
eden 환영합니다
def add(num1, num2):
print(num1 + num2)
print(add(4, 5))
# 출력
9
name이라는 변수가 등장 = 매개변수. 함수를 호출할 때 매개변수에 넣어줄 값도 함께 전달해야함.
매개변수는 둘 이상이 될 수 있다.
매개변수를 통해서 하나의 정수를 전달받아서 전달받은 수와 부호가 반대인 정수를 출력하는 함수를 만들어보자. 예를 들어서 함수에 3이 전달되면 -3이 출력되고 -3이 전달되면 3이 출력되어야 한다.
def reverse(num1):
print(num1 * -1)
print(reverse(-5))
print(reverse(50))
# 출력
5
-50
매개변수를 통해서 두 개의 정수를 전달받아서 이 둘의 평균값을 계산해서 출력하는 함수를 만들어보자
def average(num1, num2):
print(int(num1 + num2 / 2))
print(average(3, 5))
def adder2(num1, num2): # 함수 선언
ar = num1 + num2
return ar # 이는 변수 ar에 저장된 값을, 함수를 호출한 영역으로 되돌려주라는 뜻!
result = adder2(5, 3) # 함수를 호출하면, 먼저 adder2 함수가 호출이 되고 그 함수 안에서 되돌려주는 값 8이 adder2(5,3)을 대신하여 다음의 상태가 됨.
# result = 8
print(result)
def adder2(num1, num2):
return num1 + num2
result = adder2(5, 3)
print(result)
# 위 코드에서,
return num1 + num2 -> 덧셈이 먼저 진행이 되어 -> return 8 -> 이 값이 된다.
print(adder2(5,3))을 호출하면 모양새가 print 함수에 adder2을 전달하는 것처럼 보인다.
그러나 print 함수에 실제 전달되는 값은 adder2(5,3)이 반환하는 값이다. 즉 위의 문장을 실행하면,
먼저 adder2가 호출되고 그 결과로 8이 반환이 되어 다음과 같이 print 함수를 호출하게 된다.
print(adder2(5,3)) -> print(8)
하나의 정수를 전달받아서 전달받은 수와 부호가 반대인 정수를 반환하는 함수를 정의해보자. 물론 정의한 함수를 호출해서 정상적으로 동작하는지 확인까지 해야 한다.
def number(num1):
result = num1 * -1
return result
print(number(-9))
# 출력
9
def number(num1):
result = num1 * -1
return result
def main():
print(number(-10))
main()
# 출력
10
def main() 함수의 사용