python3函数有哪些高级特性?

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、python的函数也是对象,故而可以传递。

defecho(msg):
print(msg)

defcallfunc(f,arg):
f(arg)

foo=echo
callfunc(foo,'hello,world')

2、除了系统给自定义的属性,还可以给函数对象自定义任意属性。

echo.attr1='user-definedattribute'
echo.count=0
echo.count+=1

3、函数注释:Annotations

deffun(a:'annoa',b:'annob',c:'annoc'='defaultvalue')->int:
print(a,b,c)
#注释可以是任何东西,可选.一般可用于指定参数类型.
#在注释后面也可以为参数指定默认值.
#注释以Dictionary的形式保存在函数对象的__annotations__属性中.

4、lambda表达式

lambda表达式返回一个函数,即匿名函数。函数体只有一个表达式。

一个简单例子:

f=lambdax,y,z=7:x+y+z
f(3,4,5)

此处为z指定了默认值.此外,lambda表达式还可以嵌套。

对于python中的函数学习,是每个初学者都会经历的阶段。不过要想向更高阶的python学习中跨越,需要就一些函数的高级特性有所掌握。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。