def 함수명(입력 인수):
<수행할 문장1>
<수행할 문장2>
...
def sum(a, b):
return a + b
def lako(a,b):
result = a*b
return result
a = lako(1,3)
print(a)
b = lako(2,7)
print(b)
입력값이 없는 함수가 존재할까? 당연히 존재한다. 다음을 보자.
다음을 직접 입력해 보자.
이처럼 입력값이 없고 결과값만 있는 함수는 다음과 같이 사용된다.
결과값을 받을 변수 = 함수명()
결과값이 없는 함수 역시 존재한다. 다음의 예를 보자.
함수명(입력 인수1, 입력 인수2, ...)
결과값이 진짜 없는지 확인하기 위해 다음의 예를 직접 입력해 보자.
이를 확인해 보자. 돌려받을 값을 a라는 변수에 대입하여 출력해 보면 결과값이 있는지 없는지 알 수 있다.
입력값도 결과값도 없는 함수 역시 존재한다. 다음의 예를 보자.
함수명()
def 함수이름(*입력변수):
<수행할 문장>
...
*args = list of arguments -as positional arguments
http://stackoverflow.com/questions/3394835/args-and-kwargs
여기서 *args라는 것은 임의로정한 변수명이다. *pey, *python처럼 아무 이름이나 써도 된다.
(※ args는 입력 인수를 뜻하는 영어 단어인 arguments의 약자이며 관례적으로 자주 사용한다.)
def sum_many(*args):
sum = 0
for i in args:
sum = sum + i
return sum
result = sum_many(1,2,3,4,5)
print(result)
def sum_mul(choice, *args):
if choice == "sum":
result = 0
for i in args:
result = result + i
elif choice == "mul":
result = 1
for i in args:
result = result * i
return result
result = sum_mul('sum', 1,2,3,4,5)
print(result)
result = sum_mul('mul', 1,2,3,4,5)
print(result)
인수에 초기값을 미리 설정해주는 방법
def info(name, old, man=True):
print("my name is %s" % name)
print("i am %d years old" % old)
if man:
print("male")
else:
print("female")
print(info("lako", 34, True))
print(info("laho", 31))
print(info("lano", 27, False))
*주의 초기값을 설정해주려면 초기값 있는 부분은 나중에 넣어야한다는것
>>>def info(name, man=True, old): →(X)
함수 안에서 사용한 변수(ex)name,old 등등) 은 함수밖에서는 사용되지 않는다
# vartest_global.py
a = 1
def vartest():
global a
a = a+1
vartest()
print(a)