Python基础——函数用法

函数的定义和调用

一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。函数是代码复用的通用机制。

要点

Python定义函数的语法:
def 函数名 ([参数列表]) :
  ‘’‘文档字符串’’’
 函数体/若干语句

  • Python执行 def时,会创建一个函数对象,并绑定到函数名变量上。
  • return返回值 :如果函数体中包含 return语句,则结束函数执行并返回值;如果函数体中不包含return语句,则返回None值。
  • 调用函数之前,必须要先定义函数,即先调用def创建函数对象。内置函数对象会自动创建;标准库和第三方库函数,通过import 导入模块时,会执行模块中的def语句。

形参和实参

形参用于定义,实参用于调用。

def printMax(a,b): 
'''实现两个数的比较,并返回较大的值''' 
    if a>b: 
        print(a,'较大值') 
    else: 
        print(b,'较大值')
  
#函数的调用
printMax(5,3) 

执行结果:
  5 较大值

 printMax函数中,printMax(a,b)内a和b称为“形式参数”, 即形参是在定义函数时使用的;在调用函数时,传递的参数称为“实际参数”,上述代码printMax(5,3),5和3就是实际参数。

补充:函数的注释

一般建议在函数体开始的部分附上函数定义说明,以增强程序的可读性。上述代码中的“实现两个数的比较,并返回较大的值”就是函数的注释。调用help(函数名.doc)可以打印输出函数的文档字符串

help(printMax)

执行结果:
在这里插入图片描述

返回值

return的作用:

  1. 结束函数执行。
  2. 返回值。
def my_avg(a,b):
    return (a+b)/2
#函数的调用
c = my_avg(1,2)
print(c)

执行结果:
  1.5

参数的几种类型

位置参数

函数调用时,实参默认按位置顺序传递,需要个数和形参匹配。按位置传递的参数,称为: “位置参数”。

def f1(a,b,c,d):
    print(a,b,c,d)
#函数的调用
f1(1,2,3,4) 
f1(5,6,7) #报错,位置参数不匹配

默认值参数

默认值参数放到位置参数后面。

def f1(a,b,c=1,d=2):
    print(a,b,c,d)
# 函数的调用
f1(3,5)
f1(3,5,6)

执行结果:
3 5 1 2
3 5 6 2

可变参数、命名参数、强制命名参数

可变参数指的是“可变数量的参数”:

  1. *param(一个星号),将多个参数收集到一个“元组”对象中。
  2. **param(两个星号),将多个参数收集到一个“字典”对象中。

另外,按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”;在带星号的“可变参数”后面增加新的参数,必须在调用的时候“强制命名参数”。

def f1(*a,b,c): 
    print(a,b,c)
#f1(2,3,4) 报错。此时a将2,3,4 全部收集,而b和c没有赋值。
f1(1,b=2,c=3)

执行结果:
  (1,) 2 3

lambda表达式和匿名函数

  • lambda表达式可以用来声明匿名函数,其中,只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数的返回值。
  • 基本语法:
    lambda arg1,arg2,arg3… : <表达式>
    其中: arg1/arg2/arg3为函数的参数,<表达式>相当于函数体,运算结果是表达式的运算结果。

eval()函数

将字符串str当成有效的表达式来求值并返回计算结果。

#测试eval()函数
n = "print('Hello world!!!')"
eval(n)

可见,n为字符串,执行仍有结果:Hello world!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值