함수

1.함수정의

In [24]:
def add(x, y):
    return x+y
def print_add(x, y):
    print(x+y)
def print_hello():
    print('Hello, world!')
def ret_hello():
    return 'Hello'
In [27]:
print(add(7, 5))
print_add(7, 5)
print_hello()
val=ret_hello()
print(val);
12
12
Hello, world!
Hello
In [32]:
def add_y(x, y=1):#default로 y=1로 설정, 뒤에서부터 default 설정 가능함
    print(x/y)
add_y(y=2, x=1) #전달인자의 순서를 바꿔도됨
0.5
In [37]:
# 매개변수가 가변일때
def adds(*args):
    res = 0
    for i in args:
        res += i
    return res

print(adds(1, 2, 3, 4, 5, 6))
print(adds(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
21
55
In [41]:
def mul_and_divide(x, y):
    return (x*y, x/y)
(num_mul, num_divide)=mul_and_divide(4, 2)
print(num_mul)
print(num_divide)
8
2.0
In [48]:
def all_calc(*args):
    res_mul = 1
    res_add = 0
    res_sub = 0
    res_div = 1
    for i in args:
        res_mul *= i
        res_add += i
        res_sub -= i
        res_div /= i
    return (res_add, res_sub, res_mul, res_div)
asd=(res1, res2, res3, res4)=all_calc(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
print(asd)
(55, -55, 3628800, 2.7557319223985894e-07)
  1. 매개변수가 없고, 리턴문이 없는 경우
  2. 매개변수가 없고, 리턴문은 있는 경우
  3. 매개변수가 있고, 리턴문이 없는 경우
  4. 매개변수가 있고, 리턴문도 있는 경우
  5. 매개변수의 갯수가 가변인 경우
  6. 리턴되는 결과가 1건 이상인 경우
In [50]:
b=1
def vartestb():
    global b # 전역변수를 함수내에서 사용할래!

vartestb()
print(b)
1