函数-->指定函数--->默认函数--->动态函数--> 动态参数实现字符串格式化-->lambda表达式,简单函数的表示
#一个函数何以接受多个参数
#无参数
#show(): ---> 执行:show()
#传入一个参数
def show(arg): print(arg) #执行 show(123)
#传入两个参数
def show(arg,aaa): print(arg,aaa) #执行 show(123,'bbb')
#函数的默认参数
#设置一个默认参数为:999
def show(a1,a2=999): print(a1,a2) #执行 show(111,'2222') show(111) #说明:第二个参数a2 指定了默认参数999,在执行的时候 如果 第二个传入参数了 就会使用传入的参数,如果第二个没有传入参数,那函数就会使用默认参数 999 #注意:默认参数必须要写在最后,比如: show(a2=999,a1): 这样就会报语法错误
#指定参数
def show(a1,a2): print(a1,a2) #执行 show(111,'2222') #默认是把 第一个 111 传给 a1,第二个参数 222传给 a2 show(a2=999,a1=123) #这样就会把第一个参数传给 a2,, 第二个参数传给 a1
#动态参数
def show(arg): print(arg) n = [11,22,33,44] #执行 show(n) #参数 可以传入,字典,元素,列表,元祖
#自动转化元组
def show(*arg): print(arg,type(arg)) show(1) #指定 show(*arg) 一个星号 把传入的所有参数自动转化为元组
#自动转化字典
def show(**arg): print(arg,type(arg)) show(n1=78,uu=123) #指定 show(**arg) 二个星号 把传入的所有参数自动转化为字典
#一个星号和两个星号的组合,会自动把对应传入值 封装到 对应的参数里
#如果 一个星号的参数和两个星号的参数同时存在,必须把一个星号的参数放在第一个位置,
def show(*args,**kwargs): print(args,type(args)) print(kwargs,type(kwargs)) show(11,22,33,44,n1=888,n2=999)
#练习
def show(*args,**kwargs): print(args,type(args)) print(kwargs,type(kwargs)) L = [11,22,33,44] d = {'n1':111,'n2':222,'n3':333} #注意: 如下传入参数的方法会将 L d 两个变量当做参数传入 show 函数接受到这两个变量后 就会把 两个变量自动转换成 一个元组,这个元组 包含 列表 L,字典d,而 真正的**kwargs里是空的 show(L,d) #输出: #([11, 22, 33, 44], {'n1': 111, 'n2': 222, 'n3': 333}) <class 'tuple'> #{} <class 'dict'> #正确的传入方式: show(*L,**d) #输出: #(11, 22, 33, 44) <class 'tuple'> #{'n1': 111, 'n2': 222, 'n3': 333} <class 'dict'>
动态参数实现字符串格式化
#使用一个 * 元组来实现字符串格式化
#动态参数实现字符串格式化 #字符串format 方法来格式化,可以传入 元组,字典 #这里的 0 1 定义为占位符 a = "{0} is {1}" w = ["asd",["mmmm"]] ret = a.format(['a1','a2'],{'w1':'eee4'}) w1 = a.format(*w) print(ret) #输出: #['a1', 'a2'] is {'w1': 'eee4'} print(w1) #输出: #asd is ['mmmm']
#使用两个 * 字典来实现字符串格式化
#使用两个 * 字典来实现字符串格式化 #如果是字典的形式来进行字符串的格式化,这里的 占位符 就不是0 1 来定义了,而是 keys value 的形式来定义了 a = "{nameK} is {acterV}" result = a.format(nameK='K',acterV='V') print(result) #输出: #K is V a = "{nameK} is {acterV}" b = {"nameK":"KG","acterV":"VG"} result = a.format(**b) print(result) #输出: #KG is VG
#lambda表达式,简单函数的表示
#创建形式参数a
#函数内容, a+1 并把结果 return回去
func = lambda a: a+1 #形式参数,可以是多个 一个a 一个 b, print(func(5))
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/6400333.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)