2021-10-14 python从入门到精通--第九章 函数

函数

函数的创建和调用

创建函数

def functionname([parameterlist]):
	['''comments''']
	[functionbody]

例:

>>> def aaa():
...     '''aaa bbb cccddd '''
...     pass
...
>>>
>>> aaa.__doc__		
'aaa bbb cccddd '

如果函数中使用‘’‘xxx’’'写了comment,可以通过 funcname.__doc__读取,或者通过help(funcname)来读取,以此获取函数功能等一些信息

调用函数

functionname([parametersvalue])

参数传递

def fun_bmi(person, height, weight):
	pass

位置参数

fun_bmi(“路人甲”, 1.80, 60) #一般形式

关键字参数

fun_bmi(height = 1.80, weight = 60, person = “路人甲”)
可以无视参数顺序

为参数设置默认值

指定默认的参数必须在所有参数的最后

def fun_bmi(height, weight, person = "路人甲"):
	pass
fun_bmi(1.80, 60)

可以使用func.__defaults__查看函数的默认值

>>> fun_bmi.__defaults__
('路人甲',)

可变参数

两种形式:
*parameter
**parameter

*parameter

表示接收任意多个实际参数并将其放到一个元组中
例:

>>> def printcoffee(*coffeename):
...     for item in coffeename:
...             print(item)
...
>>> printcoffee("a")
a
>>> printcoffee("a","b","c")
a
b
c
>>> printcoffee(["a","b","c"])
['a', 'b', 'c']
>>>
**parameter

表示接收任意多个类似关键字参数一样显式赋值的实际参数,并将其放到一个字典中
例:

>>> def printsign(**sign):
...     for key,value in sign.items():
...             print(key,value)
...
>>> dict1 = {'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4}
>>> printsign(**dict1)
a 1
b 2
c 3
d 4
>>>

返回值

return [vaule]
可以返回多个值

变量作用域

局部变量

全局变量

定于在函数外

定义在函数内

使用global关键字

匿名函数

result = lambda[arg1 [, arg2, ..., argn]]:expression

使用lambda,参数可以有多个,但是返回值只能有一个,且不能有for,while等其他非表达式语句
例:

>>> import math
>>> r = 10
>>> result = lambda r : math.pi * r * r
>>> result
<function <lambda> at 0x00000201B869E4C0>
>>> result(r)
314.1592653589793
>>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值