前言:
现在同学们对“python不定长参数”可能比较注重,朋友们都需要剖析一些“python不定长参数”的相关内容。那么小编同时在网摘上收集了一些有关“python不定长参数””的相关知识,希望兄弟们能喜欢,看官们一起来了解一下吧!函数的作用:减少重复的代码,提高代码的复用性
函数的定义和调用
def function():
(缩进)return 变量
def是关键字
function是函数名
()括号内是参数
return返回的值是可以把值赋值变量,结束函数
函数的参数
def function1(x,y=10,*args,**kwargs):(缩进)print(x)
(缩进)print(y)
(缩进)print(args)
(缩进)print(kwargs)
x为必备参数,需要传值,不传值需要报错
y为默认参数,可以不传值,如果说传值,将会改变默认值
不定长参数:*args元组不定长;**kwargs字典不定长,形式num(a=8,k='你好')
一个*为元组不定长
两个**为字典不定长
函数的作用域
函数外定义的变量叫做全局变量,在函数里是不可以改变全局变量的,不可改变的对象有:数值,字符串,元组(函数不会改变传入的不可变对象的值)
函数内部定义的变量在函数外部是不可以使用的叫做局部变量
在函数里不可修改函数外定义的数值类型
global声明局部变量
如果想要在函数内部改变外面不可变对象的值,则需要在函数内部使用global关键字
例如
x=100
def number():
(缩进)global x
(缩进)x=x+1
(缩进)print(x)
如果说 number(101)程序将不会报错
但是只要没有global声明程序将会发生报错
nonlocal关键字
如果是嵌套函数,则不能使用global,需要使用nonlocal关键字
注:如果说嵌套函数用nonlocal
没有嵌套函数用global
函数作用域的闭包
函数的递归
相当于是内部函数调用自己,类似于while循环,也需要一个结束循环的条件,否则超出了将会报错
匿名函数lambda 自带return
filter过滤器以函数体为标准,筛选出数据
例:
f=filter(funx,li)>>(函数体,一个列表)
print(list(f))
例
li=[i for i in range(1,11)]
def funx2(x):
(缩进) return x*10
(缩进)m=map(funx2,li)
(缩进)print(list(m))
最后两排可以直接等于
li=[i for i in range(1,11)]
def funx2(x):
(缩进)m=map(lambda x:x*10,li)
(缩进)print(list(m))
有错误希望大家积极指出,我也将认真改正
欢迎大家评论点赞加关注
谢谢
标签: #python不定长参数