Skip to main content
 Web开发网 » 编程语言 » Python语言

Python学习之函数

2021年11月26日6260百度已收录

函数 假如我们写代码实现了三个数相加的功能(a+b+c),要在其他几个地方都要使用,那就需要复制粘贴过去。三个数相加的功能比较简单,代码也很短,复制粘贴似乎也没什么。

可是如果我们要实现一个复杂的功能,写了一百行代码来实现,在其他地方重复使用的话,复制就显得代码臃肿、可读性差。

于是就引入了函数,函数就是封装好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高代码的重复利用率,使得代码可读性更高。

之前我们使用的print,实际上就是python内置的函数。

如何定义一个函数 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

def my_name():    print("张三")函数调用函数调用很简单,直接在开发环境中引用函数名+()就可以了。

my_name()输出结果:

张三参数传递    f(x) = x + 1这是中学学习的方程式,x是这个方程的参数。

函数也可以有参数,而且可以有多个不同类型的参数。

def print_name(name1, name2):    print(name1, name2)# 调用该函数print_name('李四', '王五')输出结果:

李四 王五函数返回值 —— return 语句上面定义的函数并没有返回值,但是有时候我们调用一个函数,需要得到这个函数的返回值。

这就用到了return 语句。

# 实现三个数相加功能的函数,并将结果返回def my_func(a, b, c):    result = a + b + c    return result我们调用这个函数,并传三个参数给它:

# 函数的返回值赋值给res,然后打印出来res = my_func(1, 2, 3)print(res)输出结果:

6

变量作用域我们知道一个方程式的参数只在当前方程中有效,换到另一个方程式是无法使用的。

比如,f(x) = x + 1, g(x) = x + 2。我们传 x = 3 代入方程f,f(3) = 3 + 1,结果是4。但是方程g并不能使用这个参数3。

这就是函数中的局部变量。

还有一个公用的值,比如PI=3.14。在很多方程式中使用,为了方便,我们把它定义成一个常量,所有方程式可以随便使用。

这就是函数中的全局变量。

局部变量局部变量定义在函数的内部,而全局变量定义在函数的外部。

#局部变量def func(x):    result = x + 1    return result#调用函数result = func(3)print(result) 打印结果:

4在函数外调用局部变量可以吗?

print(x)打印结果:

NameError: name 'x' is not defined可见局部变量只能在定义它的函数内使用。

#全局变量pi = 3.14def func2(r):    # 圆的面积公式    result = pi * (r^2)    return result#调用函数result = func2(5)print(result)print(pi)打印结果:

21.983.14从上面的例子中可以看到,在函数外部定义的全局变量可以在函数内外随意使用

默认参数默认参数,顾名思义就是在定义函数的同时赋给参数一个默认值,在调用函数时可以传参也可以不传。

# y就是默认参数def func3(x, y=1):    result = x + y    return result#调用函数res1 = func3(2)  #不传参,就使用默认参数y=1res2 = func3(2, 3) #传参,就使用传入的参数y=3print(res1)print(res2)打印结果:

35

评论列表暂无评论
发表评论
微信