Python函数

由 张泽祥 创建,Alma 最后一次修改 2017-07-16

1.函数介绍

函数就像积木一样的代码块,提前设置好一堆的公式啊,属性值啊,等等,用的时候就只需要将一些值传递进去,不用用一次公式就写一次公式。

def hello(b,c):     #通过关键词def定义函数 ()里面代表参数,b,c就是参数值
    a=b+c           #hello函数的内容
    return a        #返回值 a

e=hello(7,4)        #传递参数7,4,然后赋值给e
print(e)            #最后打印e

11

如果我们将return a注释掉,结果会显示空,这个意味着不用返回值的时候,函数调用就无法显示。

2.全局变量与局部变量

在上面案例我们能看到,我们将a=b+c这个公式做成了函数hello(),当我们需要使用她的时候,通过hello(7,4)给函数赋值,然后去执行函数hello()内部的公式,那么e又有什么作用呢,其实e=a,就相当于将a的值赋给了e,最终用打印输出e,实现显示a结果的目的。

  • 函数内的是局部变量包括(b,c,a),函数外的是全局变量(e)。
  • 局部变量只在函数运行时候才存在,用完python会自动删除这个变量。
  • 全局变量是被永久保存,我们能在任何地方使用她。
  • 给两个变量起名字时候,全局变量的名字绝对不要和局部变量一样。虽然有让两个变量相同的方法,但是不建议用。

你可以尝试删掉上面程序的不同部分,分别运行看看结果有什么不一样,就能直观感受到函数表达式的不同部分的作用。

3.默认参数

默认参数,主要就是在参数里面提前设置好一些数值,就相当于提前设置好的一个值,恩,比如像玩游戏里面的英雄角色的初始值,作用也差不多。

def hello(b,c=5):  #c=5就是默认参数值
    a=b+c
    return a

e=hello(7,7)       #默认参数值,并不影响我们重新给c赋值
print(e)          

14

4.关键参数

关键参数,比如我有一个英雄力量=5智力=7,如果吃了一本力量书,力量变为10,我们就传入参数10,但如果hello()内部如果有很多参数的话,我们在传入参数的时候还要去找具体力量=5这个参数被我们放到哪里了,很不方便,所以用关键参数能解决这个问题。

def hello(b,c):
    a=b+c
    return a

e=hello(c=6,b=8)    #c=6 b=8 就是关键参数
print(e)            #这样还可以不用考虑函数hello(b,c)的排列顺序

14

5.练习

5.1 把我们之前做的乘法表代码放进去试试 能看到,我们能直接通过输入变量名来对hello()函数进行调用里面的乘法表功能,相当方便。

def hello():
    num_one = int(input("请输入乘法表:"))
    num_two = 1
    while num_two <= 5:
        num_result = num_one * num_two
        print("%r×%r=%r" % (num_one, num_two, num_result))
        num_two = num_two + 1
    while num_one >= 0:
        num_one = int(input("请输入乘法表:"))
        num_two = 1
        while num_two <= 5:
            num_result = num_one * num_two
            print("%r×%r=%r" % (num_one, num_two, num_result))
            num_two = num_two + 1
b=hello()
print(b)

5.2 做一个正方形面积的函数,并调用它

"""
square_area=length*length 正方形面积=边长*边长
"""
def square(length):
    square_area=length * length
    return square_area

a=square(5)
b=square(6)
c=square(7)

print(a,b,c)

25 20

以上内容是否对您有帮助:

二维码
建议反馈
二维码