以前自学没注意过参数的传导中*和**的用法,这次趁着上课了解了一下,顺便写个随笔记一下。

1.打包用法

在参数传导中*args是不定长参数,传入的参数是不限制个数的,比如

def bdc(*args):print(type(args))print(args)

bdc(1,2,3,4,5,6,7,[1,2,3,4,5,6])

打印出来的结果是

(1, 2, 3, 4, 5, 6, 7, [1, 2, 3, 4, 5, 6])

也就是说args中保存的是传入的所有参数,保存方式为元组

再看看**的用法,也就是**kwargs这个关键字参数,比如

def bdc(**kwargs):

print(type(kwargs))

print(kwargs)

bdc(a=1,b=[1,2,3,4,5],c={1,23,4})

打印出来的结果是

{'a': 1, 'b': [1, 2, 3, 4, 5], 'c': {1, 4, 23}}

也就是说kwargs虽然同样是打包用法,但是保存的格式却不相同,kwargs保存格式为字典

2.解包用法

先来看*的解包用法

defbdc(a,b,c,d):print(a,b,c,d,)

i= (1,2,3,4)

bdc(*i)

结果如下

1 2 3 4

再来看看**的解包

defbdc(a,b,c,d):print(a,b,c,d,)

i= {'a':1,'b':2,'c':3,'d':4}

bdc(**i)

结果如下

1 2 3 4

需要注意的是在定义的时候*和**表示的是打包,但是在调用的时候*和**表示的却是解包,这点不能搞混淆。之前练习不小心混淆了导致一直报错,还有一点是*和**的类型问题,*使用和元祖类型挂钩而**则是和字典,以后要多注意

python点的作用-Python中*和**的作用(课堂小结)相关推荐

  1. python property作用_python中@property的作用和getter setter的解释

    @property作用: python的@property是python的一种装饰器,是用来修饰方法的. 我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同 ...

  2. 指针在c语言中起什么作用,编程中指针的作用是什么?

    原标题:编程中指针的作用是什么? 编程语言中,何为指针?它们都有什么用呢?其实通俗点讲,将一个椅子放进一个小房间锁上门,你若想拿出凳子,就必须有锁门的钥匙,而这钥匙就是指针. 举一个简单的例子: in ...

  3. html clear的作用,css中clear的作用是什么?

    当属性设置float(浮动)时,它的物理位置已经脱离文档流了,但大多时候我们希望文档流能识别float(浮动),或者希望float(浮动)后面的元素不受float(浮动)的影响,这个时候我们就需要使用 ...

  4. html中的doctype有什么作用,html中doctype的作用是什么?

    html中doctype的作用是什么?doctype是简写,全拼是document type,它的作用是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令,简单理解就是一个声明的作用. ...

  5. 奶粉中含PHP作用,奶粉中膳食纤维作用是什么

    奶粉对于绝大部分宝宝而言,都是极为重要的东西,但是因为早年乃至现在各种各样的奶粉事故,导致许多家长对奶粉有所疑虑,毕竟那是宝宝要吃进肚子里的东西.这种时候就需要我们能够了解一些奶粉相关的科学知识,比如 ...

  6. ubuntu编写python脚本_python在ubuntu中的几种方法(小结)

    通过ubuntu官方的apt工具包安装 通过PPA(Personal Package Archive) 的apt工具包安装 通过编译python源代码安装 通过ubuntu官方的apt工具包安装 安装 ...

  7. android handler作用,Android中Handler的作用

    * Handler的定义: * 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.当应用程序启动时, * Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控 ...

  8. php session作用,PHP中Session的作用

    PHP session变量的作用是:存储用户的session信息,或者改变用户的session设置.Session变量储存了一个单一用户的信息,它可以被所有的页面使用. PHP Session变量 当 ...

  9. rono在oracle的作用_Oracle中存储过程的作用和用法

    存储过程是Oracle开发者在数据转换或查询报表时经常使用的方式之一.它就是想编程语言一样一旦运行成功,就可以被用户随时调用,这种方式极大的节省了用户的时间,也提高了程序的执行效率.存储过程在数据库开 ...

  10. java 构造函数的作用_Java中构造函数的作用(转)

    https://blog.csdn.net/vipmao/article/details/51530954,我觉得讲的非常好,学习到了 构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对 ...

最新文章

  1. 探知 浏览器并发请求个数
  2. BZOJ4241 历史研究(莫队)
  3. PNaCl:Google通过LLVM增强对Chrome中原生应用的支持
  4. Linux CentOS下如何确认MySQL服务已经启动
  5. EF分组后把查询的字段具体映射到指定类里面的写法
  6. 网站并发300就很慢
  7. mysql sql执行慢_Mysql执行查询语句慢的解决方式
  8. 二叉搜索树的创建和比较
  9. 鸿蒙官网首页,鸿蒙官网-鸿蒙手游官网首页最新版预约 v1.0-优盘手机站
  10. cobaltstrike之创建监听器与生成后门
  11. MacBook安装jdk8
  12. GoldenDict音标乱码
  13. BIOS学习之Beyong Bios
  14. 虾皮开店难吗,如何判断适不适合入驻虾皮(一)
  15. 数学:确定性的丧失--第一章 数学真理的起源
  16. [CF1463F]Max Correct Set
  17. c#通过键盘输入若干个整数,长度不得多于20个,最后将其中最大的数输出,采用控制台的形式实现。
  18. Opencv图像处理——水平线和垂直线的提取
  19. 基于Halcon学习的二维码识别【一】micro_qr_simple.hdev
  20. Flutter Icons内置图标库MaterialIcons大全

热门文章

  1. 2015/09/09夜晚js继续学习
  2. 认识Backbone (四)
  3. Python3.3 学习笔记1 - 初步安装
  4. 用 ASP.NET 开发 Web 服务的五则技巧
  5. 前段框架——Vue的get和post请求数据
  6. Javascript社区是时候接受async/await语法了
  7. MYSQL查询数据中通讯最多的两个人
  8. STL:set/multiset用法详解
  9. 2010最值得关注的10款小众互联网产品
  10. 下列关于python的描述正确的是-下列关于Python的说法,错误的是()。_学小易找答案...