当前位置: 首页 > news >正文

网站备案完毕 怎样建设网站蝙蝠侠大连网络营销

网站备案完毕 怎样建设网站,蝙蝠侠大连网络营销,网站制作公司兴田德润怎么联系,织梦教育咨询企业网站模板*args 是打包和拆分为元组 args有两部分构成为——和args。这里的重点是。 所以为了讲清楚args#xff0c;我们要追根溯源——理解*的作用。这里的args只是一个参数名称而已#xff0c;可以用其他的替换#xff0c;比如下面的示例中都使用number进行替换。 *的作用#x…*args 是打包和拆分为元组 args有两部分构成为——和args。这里的重点是。 所以为了讲清楚args我们要追根溯源——理解*的作用。这里的args只是一个参数名称而已可以用其他的替换比如下面的示例中都使用number进行替换。 *的作用有2个—— 打包参数pack和拆分参数unpack * 打包参数 例1 def foo(*number):print(number)foo(1, 2, 3, 4, 5)输出 (1, 2, 3, 4, 5)*把函数foo()接受到的多个参数1,2,3,4,5打包成了元组(1,2,3,4,5)赋值给了形参number。 我们可以验证一下 例2 def foo(*number):for i in number:print(i)print(type(number))foo(1, 2, 3, 4, 5)1 2 3 4 5 class tuple从例2可以看出number确实被赋予了(1,2,3,4,5)这个实参。 例3 def foo(a, *number):print(a:, a)print(number:, number)for i in number:print(i)print(type(number))foo(1, 2, 3, 4, 5)a: 1 number (2, 3, 4, 5) 2 3 4 5 class tuple 注意 ∗的作用函数接受实参时按顺序分配给函数形参如果遇到带∗的形参那么就把还未分配出去的实参以元组形式打包pack,分配给那个带 *的形参。 注意例4我特地找了个报错的例子。自己分析一下为啥会报错。答案是c前面的参数带∗ *∗把剩下的实参都接受走了c没有传入实参 例5 def foo(a, b, *number, c):print(a:, a)print(b:, b)print(c:, c)print(number:, number)for i in number:print(i)print(type(number))foo(1, 2, 3, 4, 5)Traceback (most recent call last):File C:/Users/PycharmProjects/untitled10/test19.py, line 11, in modulefoo(1, 2, 3, 4, 5) TypeError: foo() missing 1 required keyword-only argument: c * 拆分参数 例6 def bar(a,b,c):print(a,b,c)bar(*[1,2,3]) 1 2 3可以看出 *这次没有用在函数定义中而是用在了函数调用中。在本例中的作用是啥呢 答案是把打包了的实参元组或列表拆分unpack成单个的依次赋值给函数的形参。 在本例中打包了的实参[1,2,3]被拆分1赋值给了形参a2赋值给了形参b3复制给了形参c。 再看看下面哪个示例可以正常运行 例7 def bar(a,b):print(a,b)bar(*[1, 2, 3])例8 def bar(a, b, c, d):print(a, b, c, d)bar(*[1, 2, 3])例9 def bar(a, b, c, d10):print(a, b, c, d)bar(*[1, 2, 3])答案是只有例9可以正常运行。因为按照我们讲的原理例7的实参3没有对应的形参接受例8的形参d没有实参赋值。 **kwargs 是打包和拆分为字典 打包参数 上边*args学懂了**kwargs也就很容易明白了。 **kwargs也有两部分构成为——**和kwargs。这里的重点是∗ ∗ **∗∗。没错kwargs仅仅是一个约定俗成的写法没有其他特殊含义换成其他的也照用不误但是为了代码可读性最好还是用约定俗成的。 **的作用同样也有两个—— 打包参数pack和拆分参数unpack 但是区别还是有的简单来说就是 打包pack*args是把多个位置参数打包成元组**kwargs是把多个关键字参数打包成字典。 拆分unpack*args是把打包了的参数拆成单个的依次赋值给函数的形参**kwargs是把字典的键值拆成单个的依次赋值给函数的形参。 例10 def bar(**number):print(number)bar(a1, b2, c3){a: 1, b: 2, c: 3}例11 def bar(a, b, c):print(a,b,c)bar(**{a: 1, b: 2, c: 3})1 2 3注意这里有个需要注意的地方就是用 **方式拆解字典给形参赋值时需要字典的键名和函数形参一致否则会报错自己试试就知道了。 位置参数关键字参数*args**kwargs混用是要有一定顺序的这里我特地不写了。
http://www.pierceye.com/news/551482/

相关文章:

  • 富阳区住房和城乡建设局网站广州市住房保障和房屋管理局
  • 江门建设局网站上海住房和城乡建设部网站
  • 开一个网站需要什么建设商务网站的方案
  • asp.net网站开发 pdf全球互联网中心在哪里
  • 做外贸网站要有域名学什么可以做网站
  • 服装高级定制品牌app排名优化
  • 济南推广网站建设保定seo网络推广
  • 网站运营策略wordpress调用友情链接
  • 网站流量下降原因京津冀协同发展四区指的是
  • 北滘网站设计网站建设应解决的问题
  • 网站建设空间申请wordpress 学校主题
  • 长沙市建设工程质量安全监督站官方网站做网站入门看什么书
  • 网站设计 素材代账行业门户网站开发
  • 旅游公司网站开发与实现如何建立公司网站
  • 专门做金融培训的网站有哪些wordpress注册没反应
  • 网站备案部门建设厅焊工证什么样子
  • 南宁市建设工程质量监督站网站设计模式
  • 做理财的网站科技公司网站模板官网
  • 在线网站建设课程济宁网站建设 企诺
  • 北京专业网站制作技术手机网站建好怎么发布
  • 谷歌网站建站wordpress 页面和文章
  • 网站建设基本目标如何建设 linux 网站
  • 电子商务网站开发 php汕头 网站建设
  • 郑州做网站的论坛山西利用模板建站
  • 网站引流.定期报告系统下载官网
  • 北京网站排名珠海 网页设计
  • 长春火车站防疫政策wordpress调用图片代码
  • 建设论坛网站自学江苏中小企业网站建设
  • 东莞网站建设效果好网站建设制作设计
  • 成华区建设局门户网站wordpress.fr