1 函数的返回值

# coding=utf-8
# 函数的返回值
def add(x,y):
    r = x + y
    print (22222)
    return r
    print (11111)

# result = r
result =add(1,2)
print (result)
# r2 = add(3,5)
# r2 =8
r2 = add(result,5)
print (r2)


def add(x,y):
    if x == 1:
        return  "我们的函数不给你算这么简单的"
    return x + y
print (add(1,2))

print (add(2,3))

print打印结果:

22222
3
22222
8
我们的函数不给你算这么简单的
5

2 函数的参数

# coding=utf-8
# 函数的参数

# 函数的默认参数
# 函数有的时候也有同学会叫做方法
# 但实际上函数与方法是不同场景下对函数的不同称呼
def calc_bmi(w,h,name="凯学长"):
    bmi =w / (h**2)
    return"您好,{},您的bim指数是:{}".format(name,bmi)
r = calc_bmi(185,75)
print (r)

r = calc_bmi(1.85,75,"小强啊")
print (r)

# 函数的默认参数,必须放在参数列表的尾部
def calc_bmi(w,h,name="凯学长"):
    bmi = w / (h**2)
    return "您好,{},您的bmi指数是:{}".format(name,bmi)

# 函数的不定长参数
# 不定长参数,传入到函数里边的时候,数据类型就变成了元组
def my_function(*param):
    print (param)
    print (type(param))
    for i in param:
        print(i)

my_function(1,2,3)
my_function(1,2,3,4,5)

# 指定参数名称
def calc_bmi(w,h,name="凯学长"):
    bmi =w / (h**2)
    return"您好,{},您的bim指数是:{}".format(name,bmi)
# 当我们指定参数名称的时候,就不需要按照顺序传入参数了
r = calc_bmi(w=80,h=1.80,name="小强")
print (r)

# 可变参数,函数接收参数以后,在函数内部就变成了字典数据类型
def my_function(**param):
    print (param)
    param(type(param))
    for k,v in param.items():
        print (k)
        print (v)
my_function(a=1,b=2,c=3)
my_function(w=80,h=1.80,name="小强")

print打印结果:

您好,凯学长,您的bim指数是:0
您好,小强啊,您的bim指数是:0.000328888888889
(1, 2, 3)
<type 'tuple'>
1
2
3
(1, 2, 3, 4, 5)
<type 'tuple'>
1
2
3
4
5
您好,小强,您的bim指数是:24.6913580247
{'a': 1, 'c': 3, 'b': 2}