龙空技术网

python提升篇__函数

Kr邓 348

前言:

眼前姐妹们对“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不定长参数例题