Python函数


  • 关键词:Python函数

  • 摘要:Python函数、Python函数的特点、Python函数与C语言函数的异同


目录

一、Python函数文档

二、函数参数

1、关键字参数

2、默认参数

3、收集参数

4、返回多个值

5、局部变量与全局变量

三、匿名函数:lambda表达式


一、Python函数文档

在函数定义时,独立成行用单引号扩住,作为函数的注释或说明。

可通过 .__doc__ 或 help() 函数直接进行查看。

>>> def plus(num1, num2):
    'plus函数将两个参数相加,返回其和'
    return (num1 + num2)
>>> plus.__doc__
'plus函数将两个参数相加,返回其和'
>>> help(plus)
Help on function plus in module __main__:

plus(num1, num2)
    plus函数将两个参数相加,返回其和

二、函数参数

1、关键字参数

在调用参数时,若在实参使用关键字,则Python会根据关键字进行映射,而不会通过顺序进行映射。

>>> def show(name, age):
	print(name + " is " + str(age))
>>> show(name = "Tom", age = 18)
Tom is 18

2、默认参数

在定义函数时,可为形参设定默认值。

*若设置默认参数,则调用函数时最好使用关键字参数

>>> def plus(num1=0, num2=0):
	return(num1 + num2)
>>> plus()
0
>>> plus(num2 = 2)
2

3、收集参数

定义函数时,若无法确定参数具体个数,可使用 *params 作为收集参数。

调用函数时,实参将会被打包为元组,可用元组方法调用参数。

*若除收集参数外,函数还有特定参数,则在调用时一定使用关键字参数

>>> def total(*params):
	result = 0
	for item in params:
		result += item
	return result
>>> total(1, 3, 5)
9
>>> total(12, -2, 10)
20

4、返回多个值

将返回值设置为列表或元组,可一次性返回多个值

>>> def judge(name, cores):
	if cores >= 60:
		result = True
	else:
		result = False
	return name, cores, result  ##返回值将会是元组形式
>>> judge(name = "Tom", cores = 81)
('Tom', 81, True)

5、局部变量与全局变量

  • 函数内部的定义的变量为局部变量,无法在函数外进行访问
  • 函数外部的定义的变量为全局变量,可在函数内部进行访问,但无法在函数内部进行修改。
  • 若试图在函数内部修改全局变量,则函数内部会生成一个与其重名的局部变量,造成逻辑错误。
>>> a = b = 100
>>> def f():
        b = 50
        print("a = " + str(a))
        print("b = " + str(b))
>>> f()
a = 100
b = 50
##全局变量b并未被修改
>>> print("b = " + str(b))
b = 100
  • 使用global关键字可以在函数内部修改全局变量的值
>>> a = 100
>>> def f():
	global a
	a += 1
	print(a)
>>> f()
101

*闭包:若内部函数对外部函数的变量(非全局变量)进行引用,则内部函数被称为闭包

>>> def f():
	a = 100
	def g():
		a += 1
		return a
	return g

>>> i = f()
>>> type(i)
<class 'function'>

三、匿名函数:lambda表达式

lambda 参数  :  返回值

  • 对于某些简单的、抽象的、调用次数很少的函数,使用lambda语句可以避免给函数命名

  • 使代码更加简洁,提高代码可读性,无需再到文件开头寻找def

>>> g = lambda x, y : x + y
>>> type(g)
<class 'function'>
>>> g(1, 3)
4

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaoqizhong7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值