文章目录
在实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。
函数是一段具有特定功能的、可重复使用的代码段,它能够提高程序的模块化和代码的复用率。
Python提供了很多内建函数(如print()、input()、int()函数等)
标准库函数(如math库中的sqrt()函数)
用户还可以自己编写函数,称为自定义函数。
1.函数的定义和使用
1.1函数的定义
在Python中,定义函数的一般形式为:
def 函数名([形式参数列表]):
函数体
使用def关键字来定义函数
函数名可以是任何有效的Python标识符
函数名后的圆括号内是形式参数列表(简称形参),形式参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数之间由逗号分隔。
函数体是函数每次被调用时执行的代码,由一行或多行语句组成。
函数定义阶段:只检测语法不执行代码
定义函数发生的事情:
(1)申请内存空间,把函数体代码存起来
(2)将函数的内存地址绑定函数名
注意:
(1)即使该函数不需要接收任何参数,也必须保留一对空的圆括号。
(2)括号后面的冒号不能省略。
(3)函数体相对于def关键字必须保持一定的空格缩进。
**例如:**定义名为“print_text()”的函数,该函数的功能是输出“Hello world!”
def print_text():
print("Hello world!")
1.2函数的调用
定义了函数后,就相当于有了一段具有特定功能的代码,要想执行这些代码,需要调用函数。
函数调用阶段:才会执行函数体代码
调用函数发生的事情:
(1) 根据函数名函数的内存地址
(2)函数的内存地址()触发函数体代码的运行
函数调用的一般形式为:
函数名([实际参数列表])
例如:
def print_line():
print("************")
def print_text():
print("Hello world!")
print_line() #调用函数
print_line() #调用函数
print_text() #调用函数
print_line() #调用函数
print_line() #调用函数
运行结果:
************
************
Hello world!
************
************
函数调用的三种形式
def foo(x,y):
return x + y
语句形式
foo(1,2)
表达式
res = foo(1,2)
res = foo(1,2) * 10
print(res)
函数的调用可以当做一个参数传给另外一个函数
res = foo(foo(1,2),3)
print(res)
1.3.函数的返回值
函数并非总是直接输出数据,它还可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。在Python中,函数使用return语句返回值。
return语句用来退出函数并将程序返回到函数被调用的位置继续执行。
return语句可以同时返回0个、1个或多个结果给函数被调用处的变量。
例:编写函数实现求两数中较小数。
def minimal(x, y): #自定义计算较小值函数
if x > y: #如果x>y成立,返回y的值
return y
else: #否则返回x的值
return x
a = float(input('输入第一个数据:')) #显示提示语并接收a的值
b = float(input('输入第二个数据:'))</