首页 >> 大全

知乎python储存_知乎高赞回答:有什么相见恨晚的Python技巧

2023-10-06 大全 26 作者:考证青年

36dc5fa187da4824ab5d11d689a627b8.jpeg

MAP

有许多非常有用的内置函数。其中一个就是map()——特别是和函数相结合的时候。

在这个例子中,map()对x中的每一个元素都应用了一个简单的函数。它会返回一个map对象,这个对象可以被转化成可迭代对象,如列表或者元组。

,如果你还没有见过它,那么你可能会被这个 模块所惊艳到。

它可以让你检索到一系列国际领先出版物中的新闻和相关的元数据。你可以检索图片、文本和作者名。它甚至有一些内置的自然语言处理功能。所以,如果你正在考虑使用 或其他自制的爬虫库来应用于你的下一个项目。那么,省省时间和精力吧,你其实只需要$ pip 。

(操作符重载)

支持操作符重载。“操作符重载”其实是个简单的概念,你是否曾经想过为什么可以让你使用“+”操作符来同时实现加法和连接字符串?这就是操作符重载在发挥作用。

你可以定义使用标准操作符符号的对象,这可以让你在特定的环境中使用特定的对象,就像下方的例子一样。

302fe7dd6dbf487eb57f04b8e6683696.jpeg

的默认print函数可以满足日常的输出任务,但如果要打印更大的、嵌套式的对象,那么使用默认的print函数打印出来的内容会很丑陋。

这个时候我们就需要了,它可以让复杂的结构型对象以可读性更强的格式显示。这对于经常要面对非普通数据结构的开发者来说是必不可少的工具。

QUEUE(队列)

支持多线程,它是通过标准库中的Queue模块来实现的。这个模块可以让你实现队列数据结构。这种数据结构可以让你根据特定的规则添加和检索条目。

“先进先出”(FIFO)队列可以让你按照添加对象的顺序来检索他们。“后进先出”(LIFO)队列可以让你首先访问最近添加的对象。最后,优先队列可以让你根据他们排序的顺序进行检索。

当你定义一个类的时候,提供一个方法可以返回用来表示该类对象的可打印字符串会非常有用。例如:

这使得debug更加方便,具体的定义方式如下:

a12bf062e12c48ce8022b26d49b4bcf6.jpeg

SH

sh库让你像调用方法那样调用系统中的命令。

03c810724ca74d45ac265874f81d431e.jpeg

TYPE HINT(类型提示)

是一种动态类型语言。当你定义变量、函数、类别的时候,你不需要指定数据的类型。这可以大大提升你的开发速度,但也是有代价的。你可能会因为一个简单的输入问题而导致运行出错。

在.5之后,这就不是问题了,在定义函数的时候你可以自主选择要不要提供类型提示。

你还可以定义类型的别名:

1cd1dd812ca24a308b0c1ba9b5c77da5.jpeg

虽然不是强制性的,类型注释可以让你的代码理解起来更加简单。它们也允许你使用类型检测工具在运行之前捕获这些零散的类型错误。如果你正在从事大型、复杂的项目,那么类型注释也许会非常有帮助

UUID

通过标准库中的uuid模块,可以快速并简单地生成统一的唯一ID(又称UUID).

36c0366f28044aff9cffe1619a46a23d.jpeg

UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID —— , 中叫 UUID。它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。

这可能是我最喜欢的技巧了。你可能经常要处理不止一个项目,不幸的是,有时候不同项目会依赖不同的版本。这个时候,你应该在系统里安装哪个版本呢?

幸运的是,可以支持建立不同的虚拟环境来满足不同的版本需求。

现在你可以在一台机器上安装和运行各个独立版本的。太棒了!

有一个很棒的API,它可以让用户通过编程访问到维基的词条内容。使用中的模块可以让你以最便捷的方式访问该API。

与真实站点一样,该模块支持多种语言、页面消除歧义、随机页面检索,甚至还有()方法。

YAML

YAML是“YAML不是一种标记语言”的外语缩写。它是一个数据格式语言,是JSON的父集。和JSON不同的是,它可以存储更复杂的对象,并且可以引用自身的元素。你还可以写注释,这让YAML特别适合于书写配置文件。

模块可以让你使用调用YAML。使用下列语句安装:

5e0ddbae52f84189a6ada2bb47c11b8c.jpeg

使你能够储存任何数据类型的对象,以及任何用户定义类的实例。

ZIP

最后一个技巧也非常酷。你是否曾想要让两个列表中的元素逐个映射,组合成字典?那么你应该使用zip。

15bda54c458b4aac82f600615991218d.jpeg

内置函数zip()接收若干可迭代对象,然后返回一个由多个元组组成的列表。每个元组根据输入对象的位置索引对其元素进行分组。还可以使用*zip()来“解压”对象。

大法好,掌握这些小的技巧,助你在大神的道路上,披荆斩棘,所向披靡。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了