栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python函数

一、参数设定

def lsm(x,y,z):
   sum=x+y+z
   return sum

1、顺序传入

lsm(1,2,3)

(1)定义了一个包含参数的list, 用*list解包,相当于顺序传入

a=[1,2.3]
lsm(*a)
>>>6

2、关键词

lsm(x=1,y=2,z=3)

顺序和关键词的方法混合使用,先顺序后关键词的原则

lsm(1,y=2,z=3)

但如果第一个参数是关键词,后面就必须是关键词

lsm(x=1,2,z=3)  #报错

3、默认参数,z=3为默认值

def lsm(x,y,z=3):
   sum=x+y+z
   return sum
lsm(x=1,y=2)

默认值是可以修改的

def lsm(x,y,z=3):
   sum=x+y+z
   return sum
lsm(x=1,y=2,z=4)

默认参数必须放到参数列表的末位

def lsm(x=1,y,z=3):  #报错
   sum=x+y+z
   return sum

4、不定长参数*args
(1)

def lsm(x,*args):  
   for i in args:
     x+i
   return sum
lsm(1,2,3,4)

(2)
●函数定义时,*可以将按位置传递进来的参数’打包"成元组(tuple)类型
●函数调用时,*可以“解包’待传递到函数中的元组、列表、集合、字符串等类型,并按位置传递到函数入口参数中

def lsm(x,*args):  
   print(x)
   print(args)
   return sum
lsm(1,[2,2],[3,4])
>>>1
   ([2,2],[3,4])
a=[1,2,3]
lsm(1,*a)

(3)函数定义的*arg在最后,则全部的参数都必须以顺序的方式传入

lsm(1,2,x=1)  #报错

(4)*arg定义在最前面,后面的参数必须以关键词的形式传入

def lsm(*args,x):  
   print(x)
   print(args)
   return sum
lsm(1,2,x=1)

5、不定长参数**kwargs将不定长的关键字参数打包成字典
**可以解压带传递到函数入口参数中的字典
(1)与默认参数结合定义,kwargs将没有定义的关键字打包

def lsm(a,b=5,c=7,**kwargs):  
   print(a)
   print(b,c)
   print(kwargs)
   return
lsm(1,x=3,y=8,b=1)
>>>1
>>>1 7
>>>{'x':3,'y'=8}

(2)几种定义方法结合使用

def lsm(a,b,*args,**kwargs):  
   print(a)
   print(b)
   print(args)
   print(kwargs)
   return
lsm(1,6,4,7,x=3,y=8)
>>>1
>>>6
>>>(4,7)
>>>{'x':3,'y'=8}

二、lambda函数:匿名函数
1、接收多个参数,只返回一个表达式的值

lsm=lambda a,b: 3+a+b
lsm(3,3)
>>>9

2、应用于列表元素的排序
(1)按照列表中每个子列表的第二个元素排序

lsm=[[1,2,3],[1,3,2],[3,1,2]]
sorted(lsm,key=lambda a:a[1])
[[3,1,2],[1,2,3],[1,3,2]]

(2)按照两个数据的和排序,倒序

lsm=[[1,8,3],[1,3,9],[3,1,10]]
sorted(lsm,key=lambda a:sum(a),reverse=True)
[[3,1,10],[1,3,9],[1,8,3]]

3、应用于字典成员的排序

lsm_dict={'x':3,'c':5,'z':7,'y'=8}
dict(sorted(lsm_dict.items(),key=lambda a:a[0]))
>>>{'c':5,'x':3,'y'=8,'z':7}

三、变量作用域
1、局部变量
2、全局变量
3、局部变量转为全局变量
当局部变量需要在函数外引用时,在变量前加global转换为全局变量
4、同名变量引用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/499350.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号