Python的动态参数:

  1,参数前一个“*”:在函数中会把传的参数转成一个元组。

    

 def func (*args):
print(args) func(123,1,2,'a') result:(123, 1, 2, 'a')

  2,“**args”的参数:函数中被转成一个字典。

    

如果这样传参的话会报错,因为没有指定key或value:
def func (**args):
print(args) func(123,1,2,'a') result:TypeError: func() takes 0 positional arguments but 4 were given def func (**args):
print(args) func (a=1,b=2) result:{'a': 1, 'b': 2}

3,混合动态参数的情况:

def func (*args,**kwargs):
print("%s----%s" %(args,kwargs)) func (1,2,a=1,b=2) Result:(1, 2)----{'b': 2, 'a': 1} 也是没问题的,需要注意的是必须*args在前**kwargs在后,参数也是一样。

4,变量当动态参数的情况:

 

这种情况如果我们直接把一个list传到前面,一个dict传到后面:

def func (*args,**kwargs):
print("%s----%s" %(args,kwargs)) list=[1,2]
dic={'a':1,'b':2} func (list,dic) Result:([1, 2], {'b': 2, 'a': 1})----{} 后面的字典竟然是空的- -! So,我们需要叫函数知道那个变量是*args的参数,哪个是**args的参数,正确传参写法: func(*list,**dic Result:(1, 2)----{'a': 1, 'b': 2}

  

    

python函数动态参数详解的更多相关文章

  1. python 函数动态参数,名称空间,global,nonlocal

    ##################################总结######################################动态参数 *args:位置参数动态传参,接收到的是元 ...

  2. python 函数 动态参数 和嵌套

    1.动态参数 是可以接收任意的参数.一种方式, 1,位置的动态传参, 写法是: *参数名 接收的参数是tuple类型举个例子:def yue(*food): print(food)yue(" ...

  3. python函数知识点(详解匿名函数)

    Python函数是组织好的.单一的.具有独立功能模块的代码块. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但你也可以自己创建函数,这被叫做用户自定 ...

  4. python函数装饰器详解

    python装饰器(fuctional decorators)简单来说就是修改其他函数的函数. 这样的函数需要满足两个个条件: 1.不能修改原函数的源代码 2.不能改变原函数的调用方式 需要达到的效果 ...

  5. main函数的参数详解

    1.定义 C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv.因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整 ...

  6. Oracle 时间,日期 类型函数及参数详解

    ORACLE字符数字日期之间转化   Java代码   24 小时的形式显示出来要用 HH24       select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss' ...

  7. python datetime模块参数详解

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块,它提供 的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接 ...

  8. Python学习教程(learning Python)--2.3.3 Python函数型参详解

    本节讨论Python下函数型参的预设值问题. Python在设计函数时,可以给型参预设缺省值,当用户调用函数时可以不输入实参.如果用户不想使用缺省预设值则需要给型参一一赋值,可以给某些型参赋值或不按型 ...

  9. PHP 时间函数 date 参数详解

    time();表示的是从1970-01-01到现在共走了多少秒,不便于看,但便于计算 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24* ...

随机推荐

  1. android嵌套unity3d

    最近因为跟小伙伴在制作一个App参加比赛,由于有unity的开发经验,突发奇想的想要在Android应用中内嵌unity提供模型展示的功能. 为此,我们查阅了不少资料.大多发现的是unity中内嵌An ...

  2. javascript数组的一些方法实例

    1 concat

  3. c++程序设计之编程思想

    代码块愈小,代码的功能就愈容易管理,代码的处理和移动就愈轻松. 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员. 绝大多数情况下,函数应该放在它所使用的数据的所 ...

  4. ArcGIS api fo silverlight学习二(silverlight加载GraphicsLayer)

    上一节学习了silverlight加载GeoServer发布的WMS地图,这一节学习一下加载GraphicsLayer 一.加载.png或jpg文件图标 1.在MainPage.xaml中添加资源配置 ...

  5. ppt 数组课后作业

    任务要求:随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路:建一个数组,在for语句中将随机数存入数组中,然后每生成一个数就进行相加, ...

  6. JS,复习

    按钮,倒数五秒操作练习 <input type="button" id="btn1" value="按钮(5)" disable=&q ...

  7. 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法

    这两天自己在写一个手机网页,用到了触屏滑动的特效,就是往右滑动的时候左侧隐藏的菜单从左边划出来. 做完之后在手机原生浏览器中运行正常,但在QQ和微信中打开,发现touchmove只会触发一次,而且to ...

  8. HTTP权威协议笔记-5.Web服务器

    5.1 Web服务器工作内容 建立连接--接受一个客户端的连接,或者将其拒绝 接受请求--从网络中读取一条HTTP报文 处理请求--对请求报文进行解释,并采取行动 访问资源--访问报文中指定的资源 构 ...

  9. css小知识之伪元素

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  10. 如何在SqlServer中获取前端连接的IP地址,计算机名等信息

    在一些需求中,可能我们需要知道连接到SqlServer的前端程序的一些系统信息,比如前端连接的计算机名称,IP地址,什么时候开始请求连接,什么时候结束连接等信息. 如果你对SqlServer的系统函数 ...