在Python中, * 不仅仅代表乘法和列表复制,还常常用于函数的实参传递,和形参接收中。

作为实参传递

def div(a,b):print(a/b)div(*(1,2))

这里, *号的作用是将可迭代序列拆开,作为函数的实参。

另外, **(两个*)可以用于字典。

def div(a,b):print(a/b)params = {'a':1,'b':2}
div(**params)

作为形参接收

* 号也能放在函数定义中去。作用是接收未知数量的实参,并把这些实参都放到一个tuple中去。

def div(*a):print(a)print(a[0]/a[1])div(1,2,3)

这里我向div函数送入了3个实参,在实参向形参传递的过程中,形参a将会接收所有的参数,放到一个tuple中。大家可以自己尝试输入更多的实参,看看函数是不是同样可以接收。

*号作为形参还有更加强大的功能。

def div(b,*a):print(b)print(a)print(a[0]/a[1])div(1,2,3)####
1
(2, 3)
0.6666666666666666

我们送入(1,2,3)这三个参数,其中1会传递到形参b,剩下的两没有去处,只能全部都被a接纳了。打印结果在###号下面。

同样的,** (两个*)也能作为形参接收实参。

def div(b=1,c=2,**a):print(b)print(c)print(a)print(a['net'])params = {'net':1,'alpha':2}
div(b=1,c=2,**params)####
1
2
{'net': 1, 'alpha': 2}
1

如果**作为形参,那么代表这里接收的只能是字典,并且字典作为实参,前面必须要加两个**。

def div(b=1,c=2,**a):print(b)print(c)print(a)print(a['net'])params = {'net':1,'alpha':2}
div(b=1,**params)####
1
2
{'net': 1, 'alpha': 2}
1

这里我没有输出c的实参的值,但没有报错。**params相当于拆开了字典结构。

**params就好像等同于

net=1,alpha=2

Python中 * 的用途相关推荐

  1. python函数中self的作用_在Python中self的用途是什么?

    如果您使用的是Python,那么"自我"一词是无法逃避的.它用于方法定义和变量初始化中.每次定义方法时,都会显式使用self方法.在本文中,我们将按以下顺序深入了解Python的自 ...

  2. python介绍和用途-python中模块的介绍与使用

    模块简介: 模块就是一系列功能的集合体,在python中一个py文件就是一个模块. 又分为自定义模块,内置模块,还有第三方模块. 导入模块: 在执行文件中,写入关键字 import后面加上写好的模块, ...

  3. Python中的星号:用途及使用方法(下篇)

    Python中 *和**很常见.无论是对于编程萌新还是许多从其他编程语言(可能无与之完全等效的运算符)迁移过来的的人,这两个运算符有时可能有点儿神秘.在此,我想详述这些运算符的用途及其多种使用方式. ...

  4. python中星号怎么打出来_Python中的星号:用途及使用方法

    原作者:Trey Hunner Python中 *和**很常见.无论是对于编程萌新还是许多从其他编程语言(可能无与之完全等效的运算符)迁移过来的的人,这两个运算符有时可能有点儿神秘.在此,我想详述这些 ...

  5. python中else的作用_享学课堂谈python中else的用途

    今天我能聊聊python中的else,大家都知道 Python 中else的基本用法是在条件控制语句中的 if...elif...else...,但是else 还有两个其它的用途,一是用于循环的结尾, ...

  6. python中集合的主要应用场景有哪些_python的用途有哪些?

    python用途有:Web开发.网络爬虫.人工智能.数据分析.自动化运维.系统编程.图形处理.数学处理.文本处理.数据库编程.网络编程.多媒体应用(例游戏开发)等. 为什么这么多人学Python呢?很 ...

  7. Python中单个下划线“ _”变量的用途是什么?

    这段代码中_ after for的含义是什么? if tbh.bag:n = 0for _ in tbh.bag.atom_set():n += 1 #1楼 下划线_在Python中被视为" ...

  8. python中requests库的用途-数据爬虫(三):python中requests库使用方法详解

    有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...

  9. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

最新文章

  1. dubbo服务的运行方式
  2. 圆你国产数据库DBA之梦,达梦DCA培训考试券免费拿
  3. verilog实现汉明权重_(学习Verilog)6. FIR IP核的基础功能使用总结
  4. Oracle用户密码使用特殊符号,例如(AND)、$(Dollar)、#(Pound)、*(Star)等
  5. 怎么checkout一个gerrit提交,完事之后再push
  6. matlab差分方程实验报告,实验二微分方程与差分方程模型matlab求解.doc
  7. DNSObserver检测DNS安全漏洞
  8. Android 日历提供器(一)
  9. yii2 配置文件加载顺序, 以及调用自定义配置信息。
  10. AUTOSAR 基础软件的内在安全
  11. Python 中国象棋源码 V1
  12. 计算机桌面有个方框,电脑桌面总出现蓝色框怎么办
  13. 第三章 编译器基础知识之ELF文件格式简介
  14. Jarvis OJ BASIC 公倍数
  15. JSON Shema 校验JSON内容
  16. 微信公众号只能设置两个网页授权域名的解决方案
  17. 学习笔记(34):Python 面试100讲(基于Python3.x)-用正则表达式分别提取电话号的区号、电话号和分机号...
  18. python获取鼠标选取的内容_Python三维可视化:鼠标选取交互操作
  19. 小重山·斯卡波罗集市
  20. JAVA第三方工具类

热门文章

  1. linux系统中的挂载有什么用,linux 挂载详解
  2. python如何读取数据时出现错误_python读取excel数据报xlrd.biffh.XLRDError错误原因,,比如说我要读取 http...
  3. printm matlab,求助:将matlab M文件编译成DLL时出现的问题!
  4. 企业网站友情链接有什么作用,毫无保留的给大家分析
  5. VJC案例-叫人起床
  6. 安卓系统结构和安卓开发目录结构
  7. 案例式C语言程序设计pdf
  8. 使用 SAP UI5 FileUploader 控件上传本地文件试读版
  9. 双目摄像头标定和数据
  10. 甘特图看起来很生硬?教你使用智能颜色装饰你的甘特图!(三)