python的函数可以定义参数不限定数量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的函数可以定义参数不限定数量相关的知识,希望对你有一定的参考价值。
参考技术A def hanshu(*a):return a
print(hanshu(1,2))
输出(1,2)
print(hanshu(1,2,3,4,5,6))
输出(1,2,3,4,5,6)
print(hanshu('a','b','c'))
输出('a','b','c')
注意:这里a会自动生成元组,不是列表。
Python用了这么多年,总结出超实用的功能和特点
在使用Python这么久,时不时就会发现了一些过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。本篇文章总结出你应该了解的Python功能特色,希望大家在学习过程中,少走弯路,善用技巧!
带任意数量参数的函数
你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。
首先,看下面是一个只定义可选参数的例子
现在,让我们看看怎么定义一个可以接受任意参数的函数。我们利用元组来实现。
使用Glob()查找文件
大多Python函数有着长且具有描述性的名字。但是命名为glob()的函数你可能不知道它是干什么的除非你从别处已经熟悉它了。
它像是一个更强大版本的listdir()函数。它可以让你通过使用模式匹配来搜索文件。
你可以像下面这样查找多个文件类型:
如果你想得到每个文件的绝对路径,你可以在返回值上调用realpath()函数:
调试
下面的例子使用inspect模块。该模块用于调试目的时是非常有用的,它的功能远比这里描述的要多。
这篇文章不会覆盖这个模块的每个细节,但会展示给你一些用例。
生成唯一ID
在有些情况下你需要生成一个唯一的字符串。我看到很多人使用md5()函数来达到此目的,但它确实不是以此为目的。
其实有一个名为uuid()的Python函数是用于这个目的的。
你可能会注意到,即使字符串是唯一的,但它们后边的几个字符看起来很相似。这是因为生成的字符串与电脑的MAC地址是相联系的。
为了减少重复的情况,你可以使用这两个函数。
序列化
你曾经需要将一个复杂的变量存储在数据库或文本文件中吧?你不需要想一个奇特的方法将数组或对象格转化为式化字符串,因为Python已经提供了此功能。
这是一个原生的Python序列化方法。然而近几年来JSON变得流行起来,Python添加了对它的支持。现在你可以使用JSON来编解码。
这样更紧凑,而且最重要的是这样与JavaScript和许多其他语言兼容。然而对于复杂的对象,其中的一些信息可能丢失。
压缩字符
当谈起压缩时我们通常想到文件,比如ZIP结构。在Python中可以压缩长字符,不涉及任何档案文件。
注册Shutdown函数
有可模块叫atexit,它可以让你在脚本运行完后立马执行一些代码。
假如你想在脚本执行结束时测量一些基准数据,比如运行了多长时间:
打眼看来很简单。只需要将代码添加到脚本的最底层,它将在脚本结束前运行。但如果脚本中有一个致命错误或者脚本被用户终止,它可能就不运行了。
当你使用atexit.register()时,你的代码都将执行,不论脚本因为什么原因停止运行。
很多时候跟着书和不系统的视频网站学习,会发现没有目标,学了很多却不知道自己到底能够做出什么成绩。要有一个清晰的职业学习规划,学习过程中会遇到很多问题,你可以到我们的 python学习 -q-u-n- 【 784758214 】,基础,进阶。好友都会在里面交流,分享一些学习的方法和需要注意的小细节,每天也会准时讲一些项目实战案例。
点击:加入
以上是关于python的函数可以定义参数不限定数量的主要内容,如果未能解决你的问题,请参考以下文章