Python基础知识:*args,**args的详细用法

参考:https://blog.csdn.net/qq_29287973/article/details/78040291

*args 不定参数,**kwargs 传入键值对(例如:num1=11,num2=22)

先看示例1:

def test(a,b,c=3,*args):
print(a)
print(b)
print(c)
print(args)
test(11,22,33,44,55)
 11
22
33
(44,55)

输出结果

也就是说args中保存的是没有利用的所有多余参数,保存方式为元组

再看示例2:

def test(a,b,c=3,*args1,**args2):
print(a)
print(b)
print(c)
print(args1)
print(args2)
test(11,22,33,dd=44,ee=55,ff=66)
 11
22
33
()
{'dd':44, 'ee':55, 'ff':66}

输出结果

即输入多余参数有变量名,就保存在**args中保存,保存方式为字典

再看示例3:

def test(a,b,c=3,*args1,**args2):
print(a)
print(b)
print(c)
print(args1)
print(args2) test(11,22,33,"aa","bb",dd=44,ee=55,ff=66)
 11
22
33
('aa', 'bb')
{'dd': 44, 'ee': 55, 'ff': 66}

输出结果

补充:

import requests

response = requests.get('http://httpbin.org/get')
print(response.text)
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"origin": "223.71.166.246",
"url": "http://httpbin.org/get"
}

输出结果

带参数的get请求,方式1:

import requests

response = requests.get('http://httpbin.org/get?name=xiong&age=25')
print(response.text)
{
"args": {
"age": "",
"name": "xiong"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"origin": "223.71.166.246",
"url": "http://httpbin.org/get?name=0bug&age=25"
}

输出结果

带参数的get请求,方式2:

params 表示函数的参数是可变个数的

import requests

data = {
'name': 'xiong',
'age': 25
}
response = requests.get('http://httpbin.org/get', params=data)
print(response.text)
{
"args": {
"age": "",
"name": "xiong"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"origin": "223.71.166.246",
"url": "http://httpbin.org/get?name=0bug&age=25"
}

输出结果

【Python基础】*args,**args的详细用法的更多相关文章

  1. python中的formatter的详细用法

    今天抽空学习了一下python中的string service中的formatter的相关用法,主要是为了让自己的代码看起来更加和谐,因为很多java或者c语言过来的开发者都不怎么爱使用python的 ...

  2. python基础-函数基本特性和用法

    函数: 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值 ...

  3. python 基础知识点整理 和详细应用

    Python教程 Python是一种简单易学,功能强大的编程语言.它包含了高效的高级数据结构和简单而有效的方法,面向对象编程.Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言 ...

  4. Python基础知识点整理(详细)

    Python知识点整理(详细) 输出函数 print()可以向屏幕打印内容,或者在打开指定文件后,向文件中输入内容 输入函数 input([prompt])[prompt] 为输入的提示字符.该函数返 ...

  5. Python中的dotenv的详细用法

    最简单和最常见的用法是在应用程序启动时调用load_dotenv,从当前目录或其父目录中的.env文件或指定的路径加载环境变量,然后你可以调用os.getenv提供的与环境相关的方法. .env 文件 ...

  6. python基础===map, reduce, filter的用法

    filter的用法: 这还是一个操作表list的内嵌函数'filter' 需要一个函数与一个list它用这个函数来决定哪个项应该被放入过滤结果队列中遍历list中的每一个值,输入到这个函数中如果这个函 ...

  7. python基础===map和zip的用法

    >>> list1=[1,45,232,45,666,64] >>> list2=["ss","kein","to ...

  8. python * args和** kwargs的用法

    所属网站分类: python基础 > 函数 作者:慧雅 链接: http://www.pythonheidong.com/blog/article/18/ 来源:python黑洞网 www.py ...

  9. python 可变参数函数定义* args和**kwargs的用法

    python函数可变参数 (Variable Argument) 的方法:使用*args和**kwargs语法.其中,*args是可变的positional arguments列表,**kwargs是 ...

随机推荐

  1. 关于ECMP 等价路由

    1.ECMP简介 Equal-CostMultipathRouting,等价多路径.即存在多条到达同一个目的地址的相同开销的路径.当设备支持等价路由时,发往该目的 IP 或者目的网段的三层转发流量就可 ...

  2. JConsole & JVisualVM远程监视Websphere服务器JVM的配置方法

    原文链接:http://xjsunjie.blog.51cto.com/999372/1331880/ jconsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请.释放等动作, ...

  3. xml 转map dom4j

    http://ziyu-1.iteye.com/blog/469003 传过来一个xml文件,需要转换成Map,能够应对不用结构的xml,而不是只针对固定格式的xml. 转换规则: 1.主要是Map与 ...

  4. oracle查看锁表进程,杀掉锁表进程[转载]

    select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao.object_name,  ...

  5. 【12月26日】A股滚动市盈率PE最低排名

    深康佳A(SZ000016) - 滚动市盈率PE:1.47 - 滚动市净率PB:0.98 - 滚动年化股息收益率:4.97% - 消费电子产品 - 深康佳A(SZ000016)的历史市盈率走势图 华菱 ...

  6. duilib进阶教程 -- TreeView控件的不足 (7)

    上一个教程中,虽然播放列表的框架和迅雷一样了,但是字体大小.文字居中还没有解决.如果是刚学duilib,搞定这个可不容易,因为在有了入门教程的指导后,很容易就想到去看[属性列表.XML],但是当你试了 ...

  7. 【Important】数据库索引原理

    为什么要给表加上主键? 为什么加索引后会使查询变快? 为什么加索引后会使写入.修改.删除变慢? 什么情况下要同时在两个字段上建索引? 想理解索引原理必须清楚一种数据结构(平衡树非二叉)也就是b tre ...

  8. [原]openstack-kilo--issue(二十一) instance can't get ip 虚拟机不能得到ip(2)

    ===问题点==== 在使用vlan模式部署compute节点的时候出现了下面的错误:在controller节点的dhcp-agent.log中 2017-01-22 20:19:34.178 241 ...

  9. Docker集群管理portainer的使用

    1.Slave主机docker需要开启2375端口 ubuntu: sudo vim /etc/default/docker DOCKER_OPTS="-H=unix:///var/run/ ...

  10. VS Code非英语版本连接TFS错误解决方案

    使用VS Code连接TFS时,提示以下错误: (team) It appears you have configured a non-English version of the TF execut ...