python函数详解,python的函数相关知识
目录
1.定义和调用函数
1.1.定义函数
1.2、返回功能
2.因素
2.1、形式参数和实际参数
2.2.默认参数
2.3.关键字参数
2.4.收集参数
3.函数的内部嵌套和封闭
3.1.全局变量和局部变量
3.2、全局和非局部关键词
3.3.内部嵌套和封闭
4.匿名函数
1.定义和调用函数1.1。定义一个函数:
以def开头,后面是函数名,加上括号(括号里可以放参数也可以不放),最后以冒号结尾。
断行后注意缩进,然后添加函数内容。
(3)函数写完后,换行减少一个缩进。
通过添加函数名和参数直接调用函数。
Myworld (name): # Myworld为函数名,名称为参数print(name I love you) print(天长地久)my world(周杰伦)#调用函数Myworlddef number(a,b):# function numberreulst=a b print(reulst)number(1,1) #调用函数。
1.2.返回函数def number(a,b): #函数number return (a b) #返回值是a和b print之和(number(33,44)) #输出返回值77defback (): return [1, cat ,3.14] #返回值是list back()[1,cat ,3.14] def back (): return 1, cat ,3.14 #返回值有逗号,所以默认为tuple back()(1, Cat ,3.14) 2。参数结果:def PrintMyword(name):函数定义过程中的名称是形参 # function document #因为t a只是一个形式,它代表一个参数位置print(输入的名称称为实参,因为ta是一个具体的参数值。)PrintMyword(tiger )老虎输入的称为实参,因为ta是一个特定的参数值。这个名字在定义我的词的功能的过程中。_ _ doc _ _ 是形参2.1、形参和实参def MoRen(can Shu= parameter is default ):# can Shu是缺省参数print(canshu) #缺省参数相当于给了参数一个初始值MoRen () parameter是缺省MoRen(但也可以更改)。但是你也可以把2.2、默认参数def say(n1,n2): print(我说 n1 ,你做 N2 )say( east , west) #这个顺序是正确的。我说东,你说西(西,东)#但是当输入不正确时我说西。N1=东)#这个时候可以用关键字参数我说东,你做西2.3、关键字参数当你不确定参数个数的时候,可以用集合参数。
在参数前加一个*号,收集参数。
像这样输入参数时,可以任意输入。
集合参数一般以元组导入。
Test (*params): # Here * params是集合参数print(参数长度为:,len(params)) print(第二个参数为:,params[1]) test(1,周杰伦,2,3.14,2.88)参数长度为:5日
局部变量:在类的函数和方法中(没有自我修改),这是局部变量。
下面这个例子,虽然都是count,但是一个是全局变量,一个是局部变量。因此,不能在函数中修改全局变量的值。
Count=5 #这个Count是一个全局变量def funx():count=10 #这个count是一个局部变量print(10) funx()10 print(count) #所以在函数中不能修改全局变量。5 3.2,全局和非局部关键词。global关键字用于声明该变量是一个全局变量。
Count=5deffunx():全局Count # global关键字,声明count是一个全局变量。count=10 #此时,全局变量count改为10。print(10)funx()10 print(count)10 non local关键字的作用是声明变量不是局部变量。
DEF fun 1():COUNT=5 DEF fun 2():non local COUNT # non local关键字COUNT *=COUNT RETURN COUNT RETURN fun 2()fun 1()25 3.3、内部嵌套和闭包从名字上也可以看出来,就是在一个函数中嵌套另一个函数,在函数中调用它。
Def funx():print(这里会调用funx函数。)def fun (): print(这里fun会被调用。)funy() funx()这里会调用funx函数。这里会叫funy。闭包是嵌套函数模型中的一个重要应用。外层函数返回内层函数作为返回值,外层函数的局部变量在内层函数中使用。在这种情况下,返回的内部函数称为闭包。
DEF fun 1(a):DEF fun2(b):RETURN(a b)# fun 1的自变量用在fun 2中,FUN1 (5)函数fun 1 . locales . fun 2 at0x 0000027059 b 419 d0i=fun 1(5)I fun 1 . locales . fun 2 at0x 0000027059 b41b 80i(8)第一次调用方法13 fun1(5)(8)第二次调用方法13 4、匿名函数2.4、收集参数
lambda表达式:
先写lambda关键字,然后依次写匿名函数的参数,多个参数中间用逗号连接,然后是一个冒号,冒号后面写返回的表达式。
使用lambda函数可以省去函数的定义,不需要声明一个函数然后使用,而可以在写函数的同时直接使用函数。
使用场景:
1.需要将一个函数对象作为参数来传递时,可以直接定义一个lambda函数(作为函数的参数或返回值)
2.要处理的业务符合lambda函数的情况(任意多个参数和一个返回值),并且只有一个地方会使用这个函数,不会在其他地方重用,可以使用lambda函数
Ds (x): #普通函数return 2 * x1ds(5)11g=lambda x:2 * x1 #匿名函数,省略函数名g(5)11 def add(a,b): #普通函数return b add(3,4) 7j=lambda a,b: ab #带多个参数
Sub _ func (a,b,func): print (a=,a) print (b=,b) print (a-b=,func (a,b)) sub _ func (100,1,a,b: a b
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。