>>> def sum(*args):
...     sum = 0
...     for i in args:
...             sum = sum + i
...     return sum
...

위와 같은 형태로 sum이라는 함수를 만들었습니다. def 함수명(인수): 이렇게 선언하고 그 아래에 정의를 해주면 되는 듯 합니다. *args 는 가변인수를 뜻합니다. 인자를 초기화 할 수 도 있습니다.

>>> def call(name, age=20):
...     print name
...     print age
...

age를 20으로 초기화 해놨기 때문에 name만 전해 줘도 됩니다. 물론 age도 주면 그에 맞게 값이 변합니다.

>>> call("기선")
기선
20
>>> call("기선", 26)
기선
26
>>> name = '기선'
>>> call(name)
기선
20
>>> myName = '기선'
>>> call(myName)
기선
20
>>> name = "기선"
>>> call(name)
기선
20

return을 만나면 함수에서 나가는 것은 java와 같은데 약간 특이합니다. 여러 개의 값을 return하고 싶을때 return 값1, 값2, 값3 이렇게 적어 주면 터플로 리턴해줍니다.

>>> def call():
...     return 1, 2, 3
...
>>> a = call()
>>> a
(1, 2, 3)