此函数非数学中的函数。
那什么是 Python 中的函数?
简单理解,函数就是一种快捷方式,用于快捷指向一段代码。这段代码用于完成一项或几项功能!
比如我们前面用到过的 print() 函数,用于将内容打印出来;还比如在字符串、列表中都用到的len()函数,用于计算字符串或列表的元素个数。
使用函数,可以提高代码的复用。如果同一段代码,在很多地方需要用到,就可以编写一个函数,在需要的时候使用函数调用即可。比如我们做测试的,在编写自动化代码的时候,很多地方都需要用到登录这个操作,那么可以把登录的过程编写成一个函数。
使用函数,函数将内部的实现封装起来。如果仅仅作为使用者,不用关注函数内部的实现,只需要知道该函数如何使用即可。也就是知道函数使用的时候需要什么参数,返回的结果是什么样子就能使用这个函数。
比如我们之前用到的 print() 和 input() 这两个函数,就是用来处理输入输出的,还有 len() 函数,用来计算序列的长度。
函数怎么写呢?
要写一个函数并且使用这个函数执行某个功能分为如下两步:
- 函数的声明(定义一个函数)
- 函数的调用(使用函数)
函数声明
Python 中使用 def
关键字定义一个函数:
def 函数名(参数1,参数2...参数n):
函数体 # 即函数调用时执行的语句块
return 返回值
例如:
实现一个自然数累加的函数,传入一个自然数 n, 返回 1+2+3+...+n 的结果
def natural_add(n): # 定义函数名为natural_add, 参数只有一个就是传入的自然数 n
a = 0
for i in range(n+1): # 实现 1 到 n 的累加
a += i
return a # 通过 return 语句返回想要的结果
那么如上的 natural_add() 就是我们声明的函数,用来计算自然数 n 的累加并返回结果。只要你以后想要计算任何自然数的累加都可以使用此函数来实现了,而不用每个地方都去写这段代码。
函数的调用
通过上一小节,我们知道了如何写一个函数,那么接下来如何调用一个函数,并使用函数返回的结果呢?
比如,我现在想计算 20 以内和 100 以内的累加,如何使用上面定义的自然数累加的函数呢?写出函数名并在括号中传入实际的值即可。
# 调用自然数累加的函数并计算20以内的累加
natural_add(20) # 调用时直接写函数名,括号中传入实际的值
# 使用变量存储函数调用的结果并打印
result = natural_add(100)
print(result) # 这里的result就是100累加的结果
# 5050
return
函数中的 return 语句用来返回函数的执行过程中需要提供给外部使用的值(大部分情况是函数执行的结果,但也有可能是中间结果,主要取决于哪些值需要提供给函数调用后的代码使用 )。
当然也不是必须的,如果你没有需要返回的值,那么可以不写 return 语句,这种情况会默认抛出 None
作为返回值。
如果一旦写了 return 语句,一定要注意 return 语句的位置,因为一旦函数执行过程中遇到 return 语句就会退出函数,函数中后续的代码就不会再执行了。
def test():
return
print(110)
运行上面的代码你会发现,print(110)并不会执行。这是因为上一句 return 已经结束了函数。
当 return 后面什么值都没有的时候,意味着这是为了结束函数使用的。
def login(user, pwd):
if not (user or pwd):
print('未输入账号或密码!')
return # 如果账号密码不匹配直接退出函数
elif user != 'admin' or pwd != '123':
pass # 后续处理省略
return 可以返回一个变量,也可以返回一个具体的值。