python实用么_使用Python这么多年,才发现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,它可以让你在脚本运行完后立马执行一些代码。想要一起学习交流想要共同进步的可以加python学习q-u-n-227+435+450 ,里有许多学习视频资料等待着大家

假如你想在脚本执行结束时测量一些基准数据,比如运行了多长时间:

打眼看来很简单。只需要将代码添加到脚本的最底层,它将在脚本结束前运行。但如果脚本中有一个致命错误或者脚本被用户终止,它可能就不运行了。

当你使用atexit.register()时,你的代码都将执行,不论脚本因为什么原因停止运行。

打算深入了解python的小伙伴们,可以加下小编的Python学习群:862672474,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

彩蛋来了~

每天晚上20:00都会开直播给大家分享Python学习知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018最新Python基础学习教程),大家都是学习Python的,或是转行,或是大学生,还有工作中想提升自己能力的Python党,如果你是正在学习Python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub访问慢-FastGithub下载及使用

很多需要用到的脚本及软件会先发布在GitHub上,所以经常需要访问GitHub,但是每次都会卡在跳转到GitHub的步骤,就是还没开始就可以结束了。 之前尝试过手动修改host文件来解决网站的访问问题 以及更换网络但还是有时候无法如愿的访问GitHub Fa…

android r 编译找不到头文件_「投稿」iOS逆向——砸壳与反编译

作者:疯狂的蛋神近来对iOS逆向十分感兴趣,就在业余时间里自己在上网找了各种资料学习,发现许多资料对于一些细节描述的不够详细,所以也踩了很多坑,我也将自己踩的一些坑总结出来,希望对大家有所帮助。注&am…

python-类思想-实现简单增删查改

class Person:def __init__(self,name, phone):self.UserInfo {name: name,phone: phone}class Opt:def __init__(self):self.person []def add_person(self, user_info):print(增加)self.person.append(user_info)def delete_person(self):print(删除)self.person.pop()def …

vb microsoft.xmlhttp 获取所有超链接_编写我的第一个VB程序

若不是因为新冠肺炎疫情影响,下面的内容应该是在学校的课堂上给学生们讲解的,如今采用这种方法,也是迫不得已。软件的使用在中学信息学科课堂中,往往普遍存在于小学和初中课堂,而在高中课堂上演示软件操作,…

C++ 偏微分数值计算库_Windows下RTCGAToolbox库下载TCPA数据(RPPA)学习笔记

1. RTCGAToolbox库加载library(RTCGAToolbox)2. 下载TCPA数据2.1 下载代码# Get the last run dates lastRunDate <- getFirehoseRunningDates()[1]# get RPPA data and clinical data for LGG lgg.data <- getFirehoseData(dataset "LGG",gistic2_Date getF…

MySQL安装之没有配置向导

解决方案&#xff1a; <1>安装MySQL服务 首先我们先进入mysql的安装目录下的bin目录 之后打开DOS命令窗口&#xff0c;进入该目录下&#xff08;一定要进入该目录&#xff0c;否则操作错误&#xff09;&#xff0c;然后执行mysqld --install命令&#xff0c;如下&…

unet图像分割_UNet++解读 + 它是如何对UNet改进 + 作者的研究态度和方式

UNet论文: 地址UNet论文翻译:地址UNet源代码: 地址UNet作者在知乎上进行了解读,里面还有视频的讲解,深入人心.里面有一句话令我印象深刻,我总结下: 很多论文给出了他们建议的网络结构&#xff0c;其中包括非常多的细节&#xff0c;比如用什么卷积&#xff0c;用几层&#xff0c…

python中0、1、True、False、if条件

总结&#xff1a; 无论是python还是C&#xff0c;true1&#xff0c;false0 非零就是true&#xff0c;此说法只应用在判断条件中 1、python中0、1、True、False >>> print(True 1) >>> print(True 2) >>> print(False 0) >>> print(…

labview my_fpga开发套件下载_LabVIEW面向对象的ActorFramework(1)

本系列文章主要阐述以下几个问题&#xff1a;&#xff08;1&#xff09;什么是面向对象编程&#xff1f;&#xff08;2&#xff09;为什么要学习面向编程&#xff1f;&#xff08;3&#xff09;LabVIEW面向编程学习为什么有点难&#xff1f;&#xff08;4&#xff09;LabVIEW面…

Python-类与文件读取结合

目录 作业1&#xff1a; 知识点1&#xff1a;eval使用 知识点1&#xff1a;类对象数组定义 知识点2&#xff1a;文件读取 知识点3&#xff1a;内容解包 知识点4&#xff1a;列表排序 作业2&#xff1a; 知识点1&#xff1a;类继承后 初始化管理 知识点2&#xff1a;文件…

python 轮廓矩阵_python – 在3D numpy矩阵中绘制给定值的曲面轮廓

我有三个对应于xyz坐标空间的3D网格矩阵(X,Y,Z).我还有一个3D Numpy矩阵A,其中A [i,j,k]包含一个与点(x,y,z)相关联的浮点数,其中x X [i,j,k],y Y [i ,j,k]和z Z [i,j,k].浮点值在A内是连续的(即A的相邻元素之间的值的变化通常很小).有没有办法使用Matplotlib或任何其他基于…

乌龟量化估值怎么看_推荐几个查询指数估值的网址

首先说一下&#xff0c;因为每一家网站的数据来源不同&#xff0c;因此在不同的网站上&#xff0c;相同指数的估值数据未必相同。但这不重要&#xff0c;只要大方向没错&#xff0c;对指数所处的估值区域有一个大致的概念&#xff0c;保持“模糊的正确”即可。以下推荐几个可以…

jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区...

请大家严格按照下面顺序编写圆形生成器程序。 &#xff1a;定义函数getCircleArea(r)&#xff0c;可以对指定r计算圆面积。计算公式math库的pi*r*r。定义函数get_rList(n)&#xff0c;功能&#xff1a;输入n个值放入列表并将列表return。输入n&#xff0c;调用get_rList(n)获得…

机器学习-01regression

主要内容&#xff1a; 1.回归模型的出现 2.回归模型的选择--使得损失最小 3.损失最小时&#xff0c;参数求值 梯度下降法 4.损失不理想&#xff0c;重新调整模型 5.添加正则表达式&#xff0c;即学习率 import numpy as np import matplotlib.pyplot as plt x_data [338.…

unity 草 可以一棵棵种吗?_这种野草人称“瓜子金”,1斤能卖50多,拔1棵少棵很珍贵...

欢迎来到“农民爱花草”&#xff0c;这里每天都会分享一些有关花草绿植的小知识&#xff0c;喜欢的朋友请“关注”今日导读&#xff1a;这种野草人称“瓜子金”&#xff0c;1斤能卖50多&#xff0c;拔1棵少棵很珍贵在我们广大的农村地区生活着很多的植物&#xff0c;有很多的植…

安装IntelliJ IDEA 2019.2激活

所有教程就是下载完成后&#xff0c;配置 我下载完jetbrains-agent-latest.rar将后缀名改为jar。添加----失败 百度了很多 都没有 最后把jetbrains-agent-latest.rar进行解压&#xff0c;将解压内容复制到IntelliJ中。再进行添加即可。 ps:刚开始安装完成后安装路径下没有im…

pytorch tensor查找0_Pytorch简单教程

2019 年&#xff0c;ML 框架之争只剩两个实力玩家&#xff1a;PyTorch 和 TensorFlow。研究者大批涌向 PyTorch&#xff0c;而业界的首选仍然是 TensorFlow。Pytorch和TensorFlow的区别&#xff1a;TensorFlow是基于静态计算图的&#xff0c;静态计算图是先定义后运行&#xff…

白盒测试-条件覆盖-短路陷阱

条件覆盖 ​要求设计足够多的测试用例&#xff0c;使得每一个判定的​每一个条件的每一个取值&#xff08;真或假&#xff09;至少各执行一次。 对于示例来说​&#xff0c;可以设计&#xff1a; {x4,y4,z11} 条件取值&#xff1a;TFTF {x2,y6,z9} 条件取值&#xff1a;F…

python编程题计算矩阵对角线_Python练习题 028:求3*3矩阵对角线数字之和

【Python练习题 028】 求一个3*3矩阵对角线元素之和-----------------------------------------------------这题解倒是解出来了&#xff0c;但总觉得代码太啰嗦。矩阵这东西&#xff0c;应该有个很现成的方法可以直接计算才对…… 啰嗦代码如下&#xff1a;str input(‘请输入…

抖音2020研究报告_抖音音乐发布2020抖音音乐生态数据报告

近几年&#xff0c;随着原创音乐产业规模逐年递增及数字音乐4.0时代觉醒&#xff0c;拓宽了原创音乐创作与宣发渠道&#xff0c;真正实现了大众娱乐生活从“听音乐”到“看音乐”到“玩音乐”的多重共振。11月5日&#xff0c;抖音音乐正式发布《2020抖音音乐生态数据报告》。报…