Python从函数参数类型引出元组实例分析

yipeiwu_com5年前Python基础

本文实例讲述了Python从函数参数类型引出元组。分享给大家供大家参考,具体如下:

自定义函数:特殊参数

def show(name="jack", *info):
  print(name) #jack
  print(info) #(22, '男')
show("jack",22,"男")

可以看出22,"男"全部归为了函数的第二个参数*info

我们可以看到打印这个info参数结果是:小括号包起来的形式。

函数的特殊参数升级

上面见识了函数参数*xxx这种形式,下面看看2个*的形式。

def show(name="jack", **info):
  print(name) #jack
  print(info) #{'sex': '男', 'age': 22}
show("jack",age=22,sex="男")

**info注意此时是2个*。函数内部打印得到的是一个看着像json结构的字符串。

三种参数到底是什么玩意?有什么区别?

我们用Pytone内置函数type来看看

def show(name="jack",*info1, **info2):
 print(type(name))
 print(type(info1))
 print(type(info2))
show("jack",22,"男",age=22,sex="男")

猜一猜:打印这3种参数的类型会是什么?

<class 'str'>
<class 'tuple'>
<class 'dict'>

name是字符串,*info1是元组,**info2是字典。

元组tuple

(22, '男')

元素用一个小括号包起来的形式。

更多Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python 中如何实现参数化测试的方法示例

之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest、nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架。 本文想针对测试中一种很常见的...

关于python2 csv写入空白行的问题

关于python2 csv写入空白行的问题

如下所示: writer = csv.writer(open('xx.csv','w')) data = [('zzz', 20, 123456),('jojo', 10, 7890...

对python中使用requests模块参数编码的不同处理方法

对python中使用requests模块参数编码的不同处理方法

python中使用requests模块http请求时,发现中文参数不会自动的URL编码,并且没有找到类似urllib (python3)模块中urllib.parse.quote("中文...

pycharm安装和首次使用教程

pycharm安装和首次使用教程

PyCharm 是我用过的python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windows下面都可以用,这点比较好。是python现在最好用的编辑器,没有之一。 首先预...

浅谈Python traceback的优雅处理

刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题,但是随着逐渐地深入,我们会发现有很多情况下简单的异常处理已经无法解决问题了,如下代码,单纯的打印异常所能提供的信息...