前言:
眼前姐妹们对“python不定长参数例题”大致比较关切,咱们都想要学习一些“python不定长参数例题”的相关资讯。那么小编在网络上汇集了一些有关“python不定长参数例题””的相关内容,希望兄弟们能喜欢,咱们一起来学习一下吧!一,函数
分为两部分:
#1.1定义函数,(打包)/调用函数,(使用)
循环:在同一个地方重复执行多次
函数:在不同的地方重复执行多次
#1.2函数定义于语法:
定义函数的关键字:def
语法:def 函数名():
函数执行题,就是调用函数会执行的代码
定义函数不会执行函数里面代码
调用函数:
函数名()
执行函数里面的代码
def test():
print('hello')
#1.3调用函数需要写在定义函数的后面,不然会报错
test()#调用几次就执行几次
二,函数的参数
1.1#必备参数 参数名 调用的时候必须给值,如果不给就会报错
#默认参数 参数名=默认值 调用的时候可以不转值,不传值就是用的默认值,传值就会改变默认参数的值
#不定长参数-可以传入任意个数的值包括0个参数
#元祖不定长:*args (一颗星代表)
#字典不定长:**kwargs(二颗星代表)
#def func(x,y=100,*args):#将里面的变量定义为参数 :def func(参数1,参数2,参数n)
print(x+y)
print(args)
func(5,22,25,88,63)
def func1(**kwargs):
print(kwargs)
1.2#传值需要用键值对的方式传入,并且键只能是字符串
func1(a=1,b=2)
1.3#参数定义的顺序 必备参数 默认参数 元祖不定长 字典不定长
def func(x,y=100,*args,**kwargs):
print(x)
print(y)
print(args)
print(kwargs)
func(5,22,25,88,63,a=1,b=2)
1.4#字典不定参里面的给的键名不能跟必备参数默认参数的变量名重复
1.5#给指定的参数名赋值
def funca(a=0,b=1,c=2):
print(a,b,c)
funca(b=5)
三,函数调用拆包
#我们需要快速的把元祖或者字典里面的元素依次传入参数,可以使用拆包
def func(x,y,z):
print(x,y,z)
t=(1,2,3)
func(*t)
def func1(x,y,z):
print(x,y,z)
dic={'x':3,'y':1,'z':0}
func1(**dic)#x=3 y=1 z=0 func1(x=3,y=1,z=0)
四,函数作用域
1.1#函数里面可以使用该函数外面的变量,但是不可以修改函数外面的变量
#函数外面不能使用函数里面的变量,也不能修改
#在函数外面的变量我们称为:全局变量
#在函数里面的变量我们称为:局部变量
1.2
#解决:函数里面可以使用该函数外面的变量,但是不可以修改函数外面的变量
x=[1,2,3]
def func():
#x.append(4)#追加后是可以打印出来的,给列表里面添加了值,没有改变地址值
x=[1,2,3,4]#重新定义,是互相隔离的两个列表是互不影响的
#x+=[4,5]#不能修改的是地址值,这里会拿x跟后面的列表拼接成一个新的列表,会返回新的列表就会改变地址值
print(x)
func()
print(x)
1.3
#使用关键字global 一定要在修改之前声明
x=100
def func():
global x
x+=10
print(x)
func()
1.4
#嵌套函数使用nonlocal
'''
def func():
x=100
def func1():
nonlocal x
x+=10
print(x)
func1()
func()
'''
1.5
#解决:函数外面不能使用函数里面的变量,也不能修改
'''
关键字:return
功能:结束方法
带出返回值
def func():
y=100
x=200
#使用关键字return 将函数的结果返回
return x
#return后面的代码不会执行
#如果没有写return关键字默认就是none
print(666)
print(777)
x=func()#none
x=x*2
#y+=10
print(x)
'''
#内置函数:Pyhon帮我们定义好的函数,我们只需要调用
#print(end='\n',*args)
'''
res=input('输入')
print(res)
五,闭包:利用函数的作用域完成变量的保护
def fun_live():
live=100
def live_change(blood=0):#嵌套一个函数,功能是对生命值进行操作
nonlocal live#改变该函数外面的变量,需要用nonlocal声明
live+=blood#操作生命值,对血量进行增加
return live #把修改后的生命值返回
return live_change#外面函数的返回值就是里面函数的函数体
res=fun_live()#用变量保存函数的返回值,变量名加括号调用,相当于里面的函数被调用
六,递归:函数自己调用自己(别轻易尝试,Ctrl+c强制停止)
def test():
print('test')
test()#函数里面自己调自己相当于死循环,但是会比循环的性能消耗要大
test()
#
def test(count):#执行的次数
print('test')
if count>1:
test(count-1)
test(5)
七,匿名函数:没有函数名的函数
#定义的关键字 lambda
#不需要函数名 参数定义不需要括号 不需要换行+缩进 不需要写return
'''
def func(x,y):
return x+y
func(1,2)
func=lambda x,y:x+y
func(1,2)
'''
八,回调函数 把函数作为参数传入,在函数的内部进行调用
def test(func):
print('test')
res=func()
print(res)
#将作为参数传入的函数称为回调函数
##def s(x=1,y=2):
## return x+y
test(lambda x=1,y=2:x+y)
#sort()函数有一个默认参数,默认参数名是key
#sort会执行传入进来的函数,会依次获取元素传入函数的参数,根据该函数的返回值进行排序运算
#质数:大于1并且只能被1跟本身整除
收集不易,如果我的作品对你有所帮助,那么请屏幕前的您点赞+关注,我会持续更新关于python技能的提升~
#新人小白求过百粉#
标签: #python不定长参数例题