Python11

来源:互联网 发布:basic和vb 编辑:程序博客网 时间:2024/06/15 16:55

函数

def

def用来创建函数,其中标题行由def关键字,函数名和参数组成,def子句剩余部分包括一个可选的文档子串和必需的函数体。

def func_name(args):    "function document"    func_body
装饰器

装饰器指函数,它们接受函数对象,具体还是看例子吧,简单明了

@decoTwo@decoOnedef func(args1,...):    pass#上面等价于def func(args1,...):pass#func = decoTwo(decoOne(func))#以下是带参数的@deco(args) # deco()用args做了操作并返回函数对象,返回的函数对象以func作为其参数的装饰器def func():    pass#等价func=deco(args)(func)
参数

python支持默认参数与可变长参数,其中可变长的参数元祖要在位置和默认参数之后,带元组的函数用法如下:

def func([args,] *args_tuple):    func_body

星号操作符之后的形参作为元组传递给函数,元组保存了所有传递给函数的额外参数,如果没有则元祖为空。在正常情况下如果函数调用与函数定义的参数不匹配会产生TypeError的异常,通过末尾增加一个可变的参数列表可以处理超出数目的参数,这些超出数目的参数会被添加到参数元组,对于不定数目或者额外集合的关键字,参数被放入一个字典中,同时为了区分关键字和非关键字非正式参数,使用了(**)。

>>> def func(arg1,arg2="default",*nc,**nk):...     print("arg1:%s" %(arg1))...     print("arg2:%s" %(arg2))...     for each in nc:...             print("arg3:%s"%(each))...     for key in nk.keys():...             print("arg4:%s:%s" %(key,nk[key]))...>>> func("A")arg1:Aarg2:default>>> func("A","selfParam")arg1:Aarg2:selfParam>>> func("A","selfPram","B","C",name="python",study="yes")arg1:Aarg2:selfPramarg3:Barg3:Carg4:name:pythonarg4:study:yes
函数式编程

lambda:用于创建匿名函数,一个完整的lambda语句代表一个表达式,这个表达式的定义体要和声明放在一行,参数是可选的,如果使用参数,则参数通常是表达式的一部分,lambda主要用于返回可调用的函数对象,这有点类似一个函数的单行版本,起初刚准备下结论与C++的内联类似,但看了书中下一句就发现自己想多了~~,lambda语句的目的是由于性能原因,在调用时绕过函数的栈分配,创建了一个框架对象。

lambda [arg1[,arg2,...argN]]:expression

例:

>>> a=lambda x,y=10:x+y>>> a(20)30>>> a(20,30)50>>> b=lambda *z:z>>> b(23,'adf')(23, 'adf')>>> b()()>>> b('adsf')('adsf',)
global

将全局变量的名字声明在一个函数体内的时候,全局变量的名字会被局部变量覆盖,因此为了明确使用一个已命名的全局变量,可以在函数体内用global声明全局变量而无须建立新的局部变量。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 泰拉瑞亚地图找不到备份怎么办 服务器没远程管理卡怎么办 tplink上不了网怎么办 键盘端口坏了怎么办 小米路由dns错误怎么办 电脑内存性能低怎么办 nas硬盘坏了怎么办 360安装环境异常怎么办 连接不上服务器怎么办 路由器被绑定mac怎么办 mac地址绑定失败怎么办 触摸屏忘了密码怎么办? 小区高层水压低怎么办 高层楼房水压不够怎么办 热水器温度太高怎么办 热水器出热水小怎么办 天然气热水器水压不够怎么办 热水器水变小了怎么办 液压齿轮泵没力怎么办 gps总是浮点解怎么办 电源要做到稳压怎么办 变压器输出电压低怎么办 变压器输出电压高怎么办 家里空调带不动怎么办 小天才定位不准怎么办 伐木锯链条不出油怎么办 角磨机切割片卸不下来怎么办 油泵电机声音大怎么办 汽车油泵声音大怎么办 水泵电机噪音大怎么办 注塑机油泵超载怎么办 模具老是粘模怎么办 打印机提示卡纸2怎么办 扬子空调显示e9怎么办 供应商不配合售后怎么办? 数控车床显示屏不亮怎么办? 西威变频器过载怎么办 vgm申报错了怎么办 老公常年不回家怎么办 狗对主人龇牙怎么办 酒喝多了会尿床怎么办