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. select理解

    https://www.cnblogs.com/skyfsm/p/7079458.html

  2. Ubuntu下在Apache中运行Keystone

    最近一次从Github上更新Keystone的代码后,发现原来bin/keystone-all和bin/keystone-manage都不见了,取而代之的是keystone/cmd/目录下的all.p ...

  3. mybatis中批量插入以及更新

    1:批量插入 批量插入就是在预编译的时候,将代码进行拼接,然后在数据库执行 <insert id="batchInsert" parameterType="java ...

  4. [Model] AlexNet

    CaffeNet - a variant of AlexNet Ref: Classification: Instant Recognition with Caffe This is caffeNet ...

  5. webpack + vue 项目 自定义 插件 解决 前端 JS 版本 更新 问题

    Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 它的异步加载原理是,事先将编译好后的静态文件,通过js对象映射,硬编 ...

  6. VS设置DLL所在的调试目录

    如果一个项目依赖的DLL不想写在Path中,可以在 配置属性-调试-环境中添加 PATH=D:/OSG/bin;$(PATH)

  7. mysql性能调整三板斧

    大意是,用2/8原则,多快好省的解决大部分事情.所以三板斧,仅限整体调整,不牵扯具体细节. 1.innodb 使用innodb引擎 2.innodb_buffer_pool 调整和innodb有关的参 ...

  8. 【Latex】常用工具包

    字体篇: \usepackage{color} {\color{red}{Hello World!}} 表格篇: 1.resizebox \begin{table*}[!htb] \centering ...

  9. linux升级内核

  10. node-sass 安装

    设置 export ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" export SASS_BINARY_SI ...