本文整理了 26 个 Python 有用的技巧,将按照首字母从 A~Z 的顺序分享其中一些内容。

all 或 any

人们经常开玩笑说 Python 是“可执行的伪代码”,但是当你可以这样编写代码时,你就很难反驳了。

1x =[True, True, False]

2ifany(x):3 print("At least one True")

4ifall(x):5 print("Not one False")

6if any(x) and notall(x):7 print("At least one True and one False")

bashplotlib

你想在控制台(console)上绘制图形吗?

1 $ pip install bashplotlib

这样你在控制台中就可以绘制图形了。

collections 模块

Python 有一些很好的默认数据类型,但有时它们的行为并不完全像你所期望的那样。幸运的是,Python 标准库提供了 collections 模块,这个方便的附加组件提供了更多的数据类型。

dir

你是否知道如何查看 Python 对象并查看它都有哪些属性?使用命令行:

当你通过交互方式来运行 Python,并动态地探索你正在使用的对象和模块时,这一功能就非常有用了。

Emoji

如何打出 emoji 表情?

不要跟我说你不会去尝试噢~

1 from __future__ import

Python 如此广受欢迎还有一个原因是它总是开发新版本。要知道,新版本意味着有新功能。但你不必害怕所用的版本过时了。这个__future__模块可以让你在现有版本上导入 Python 未来版本的功能。这一特征就好像时间旅行机一样,让未来的东西穿越到现在来使用。

geopy 模块

对程序员来说,地理环境可能是一个具有挑战性的领域。但是,有了 geopy 模块,这一切就都变得简单了。

geopy 模块是通过抽象出一系列不同的地理编码服务的 API 来工作。它可以让你获得某一地点的完整街道地址、维度、精度甚至海拔高度。还有一个有用的距离类。它可以使用你喜欢的测量单位来计算两个位置之间的距离。

howdoi

你有没有遇到过这样的困境:遇到编码的问题忘记了以前见过的解决方案,或者需要检查 StackOverflow,但又不想离开终端。

有了 howdoi,无论你问它什么问题,它都会尽力回答。

但有一点要注意的是:howdoi 是从 StackOverflow 的热门答案中抓取代码,它提供的信息可能不是最有用的。

inspect 模块

PYthon 的 inspect 模块对于理解幕后发生的事情非常有用。你甚至可以自己调用它的方法!如下所示的代码段,使用了 inspect.getsource() 来打印自己的源代码。它还使用了 inspect.getsource() 来打印定义它的模块。最后一行代码打印出自己的行号。

当然,除去这些简单的用途之外,inspect 模块对于理解代码的作用也非常有用。你也可以使用它来写自编文档代码。

Jedi

Jedi 库是一个自动完成和代码分析的库。它能够使编写代码更为快速、更为高效。除非你正在开发自己的 IDE,否则你可能对使用 Jedi 作为编辑器插件最感兴趣。幸运的是,现在加载这个插件已经可以用了!不过,你可能已经用上Jedi 了。IPython 项目的代码自动完成功能就是使用Jedi来实现的。

kwargs

在学习任何语言的过程中,都会遇到许多里程碑。使用Python,理解神秘的 **kwargs 语法可能就是其中之一。dictionary 对象前面的双星号允许您将该 dictionary 的内容作为命名参数传递给函数。dictionary 的键是参数名,值是传递给函数的值。你甚至不需要叫它 kwargs!

当你想编写可以处理未预先定义的命名参数的函数时,这就非常有用了。

List Comprehensions

关于 Python 编程,我最喜欢的事情之一是它的列表生成式(List Comprehensions)。这些表达式可以很容易编写出简洁的代码,读起来几乎就像自然语言一样。

map

Python 是通过许多内置功能支持函数式变成。其中最有用的函数之一是 map() 函数,特别是这个函数与 lambda 函数结合使用时。

在如上所示的代码段中,map() 对每个元素 x 都应用了一个简单的 lambda 函数。它返回一个 map 对象,这个对象可以转换为某些可迭代的对象,例如 listh 或 tuple。

newspaper3k 模块

如果你还没见过它,那你见到 Python 的 newspaper 模块可不要被它震撼到了。这个模块可以让你从一系列领先的国际出版物中检索新闻文章和相关的元数据。你可以检索图像、文本和作者姓名。如果你想为你的项目使用 BeautifulSoup 或其他一些自己打造的 webscraping 库,你可以用 $ pip install newspaper3k 为你节省时间和精力。

Operator overloading

Python 提供了对运算符重载的支持。其实这是一个简单的概念。有没有想过为什么 Python 允许使用 + 运算符来添加数字和连接字符串?这就是运算符重载的功劳。你可以按照自己的特定方式定义使用 Python 标准运算符符号的对象。这样,你就可以在正在使用的对象相关的上下文中使用它们。

pprint

Python 的默认 print 函数可以完成打印作业。但是如果尝试让 Python 打印任何大型的嵌套对象,打印结果会非常难看。

这就要用到 Python 标准库中的 pretty-print 模块了。这个模块能够以易于阅读的格式打印出复杂的结构化对象。这个模块对于任何使用复杂数据结构的 Python 开发者来说都是必备的。

Queue

Python 支持多线程,可以通过标准库的 Queue 模块来实现。这个模块可以让你实现队列数据结构。这些数据结构允许你根据特定规则添加和检索条目。“先进先出”(FIFO)队列允许你按照添加对象的次序来检索对象。“后进先出”(LIFO)队列允许你首先访问最近添加的对象。最后,优先级队列允许你根据对象的排序次序来检索对象。

repr

在 Python 中定义类或对象时,提供一种将该对象表示为字符串的“官方”方法是很有用的。例如:

这使得代码的调试变得更加容易。将其添加到你的类定义中,如下所示:

sh

Python 是一种很棒的脚本语言,但有时候使用标准的操作系统和子进程库会让人有点头疼。

sh 库提供了一个简洁的替代方法。sh 库允许你像普通函数一样调用任何程序,这点对于自动化工作流和任务非常有用,所有这些都来自 Python 内部。

Type hints

Python 是一种动态类型的语言。在定义变量、函数、类等时,不需要指定数据类型。

这一特性让开发者能够快速开发项目。但是,很少有比简单的输入问题导致的运行时错误更烦人的事情了。

从 Python 3.5 开始,你就可以选择在定义函数时提供 type hintsl 。

你可以这样定义类型别名:

虽然定义类型别名不是强制性的,但是类型注释可以让你的代码更容易理解。

它们还允许你使用类型检查工具在运行时之前捕获那些零散的 TypeErrors。如果你正在开发大型复杂的项目,那么这很可能是值得一试的!

uuid

通过 Python 标准库的 uuid 模块,可以快速简单地生成通用唯一 ID(或“uuid”)。

uuid 模块会创建一个随机的 128 位数字,几乎可以肯定是唯一的。

实际上,可以生成超过 2¹²² 个可能 UUID,这一数字超过了5,000,000,000,000,000,000,000,000,000,000,000,000(数字 5 后面有 36 个数字 0)。

在给定的集合中找到重复的概率非常低。即使有一万亿的 uuid,重复存在的概率也远远小于十亿分之一。

用两行代码就实现了,还是很不错的。

Virtual environments

这可能是 Python 中我最喜欢的部分了。

你有可能同时会处理多个 Python 项目。然而不幸的是,有时两个项目会依赖于相同依赖关系的不同版本。你在系统上都安装了哪些版本的依赖关系呢?在命令行输入如下内容:

现在,你可以在同一台机器上安装、运行Python不同的独立版本。

wikipedia

Wikipedia 有一个很棒的 API,它允许用户通过编程方式访问无与伦比的、完全免费的知识和信息。

wikipedia 模块使访问这个 API 变得非常方便。

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

xkcd

幽默是 Python 语言的一个重要特征——毕竟,它是以英国喜剧小品节目 Monty Python 的飞行马戏团命名的。Python 的许多官方文档都参考了该剧最著名的短剧。然而,这些幽默并不局限于文档,试一试下面的运行方式:

绝不改变,Python。永不改变。

YAML

YAML 代表的是“YAML Ain’t Markup Language”,它是一种数据格式化语言,是 JSON 的超集。与 JSON 不同,它可以存储更复杂的对象并引用自己的元素。你还可以编写注释,使其特别适合于编写配置文件。

PyYAML 模块允许你在 Python 中使用 YAML。

然后导入到你的项目中:

PyYAML 允许你存储任何数据类型的 Python 对象,以及任何用户定义类的实例。

zip

这是本文最后的一个技巧了,非常酷!你有没有过需要从两个列表中创建一个字典的想法呢?

zip() 内置函数接受许多可迭代对象并返回元组列表。每个元组根据对象的位置索引对其元素进行分组。

你还可以通过调用 *zip() 来“解压缩”对象。

原文出处:https://www.cnblogs.com/pypypy/p/12176860.html

python学到什么程度可以面试工作_Python学到什么程度可以面试工作(解答一)相关推荐

  1. 网易python面试经验_Python程序员应该如何准备面试

    当前Python语言的上升趋势非常明显,随着大数据和人工智能领域的发展,Python语言未来的应用前景还是非常值得期待的.另外,Python语言在Web开发.嵌入式开发和各种后端服务开发中也扮演着重要 ...

  2. 为什么python工程师掌握这些就够了_Python学到什么程度才可以去找工作?掌握这4点足够了!...

    大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...

  3. 学python好找工作么-学完Python好找工作吗?为什么有人学完还找不到工作?

    近来,Python掀起了一股外行人的学习热潮,简单易学,又无所不能.信誓旦旦报了培训班,亦或是购买了课程自学,一段时间后自认为掌握了Python,出去找工作却碰了一鼻子灰.到底是怎么一回事呢? 市场对 ...

  4. java学到什么程度可找工作_Java学到什么程度可以找工作

    原标题:Java学到什么程度可以找工作 实际上Java初级开发岗位对于从业者的要求并不高,通常能够熟练使用常见的Java框架就可以找到第一份工作了(很可能是外包).但是外行人难免忐忑,心里没谱儿,到底 ...

  5. 没学过编程,本科学历,Java学到什么程度才能找工作?

    好程序员之前写过多篇Java找工作方面的文章,今天说说零Java基础找工作的事情.首先请大家明确如下的要点. 1.在没有真实Java工作项目经验的前提下,靠自学,哪怕到培训班学,一定是无法真正掌握到能 ...

  6. 学ui和python哪个好找工作_学it好不好找工作?过来人告诉你

    学it好不好找工作? 近几年的互联网发展的越来越快,好像各行各业都和互联网挂上了关系.因为it程序员的高薪资,高福利,所以也有越来越多的人想去从事it工作,那么it工作好找吗? 过来人和你说:会it以 ...

  7. 会python编程可以做什么工作_学Python编程到底能做什么工作?

    学Python编程能做什么工作?随着人工智能发展,学习python语言的人员有更多的岗位机会,python从事的职业广泛,从游戏到AI人工智能能都可以用Python实现.除了编程,各种岗位的人都应该学 ...

  8. python编程小学生学好吗-连小学生都在学的Python,究竟就业方向有哪些?

    我们知道,网络爬虫作为数据采集的利器,在大数据时代作为数据的源头,十分有用武之地.利用Python可以更快的提升对数据抓取的精准程度和速度,是数据分析师的福祉,通过网络爬虫,让BOSS再也不用担心你没 ...

  9. 转行python能拿到多少钱_想转行学python过来人提醒大家几点

    因为目前python非常火,应用也非常广泛,是目前最火的行业之一,竞争很大,工资很高,未来发展也极好. Python 现在到底有多热呢?我觉得我们可以看以下的这2组数据. 第一:Python 排名稳居 ...

最新文章

  1. angularJS学习笔记一
  2. php 发送邮件乱码
  3. Android开发--多线程中的Handler机制/Looper的介绍
  4. 路由器距离向量算法计算举例_距离向量路由选择是什么 距离向量路由选择原理介绍【图文】...
  5. Hdu1232 畅通工程 【并查集】
  6. 利用坐标变换证明惯性主轴方向是惯性矩的极值方向
  7. java开发大全、系列文章、精品教程
  8. 一致性哈希算法——虚拟节点
  9. 解决: Android.bp ninja: error: unknown target MODULES-IN-xxx报错
  10. Exchange 2013CU17和office 365混合部署-配置SSO(七)
  11. for循环性能优化的几种思路
  12. TikTok数据分析工具介绍
  13. 论文总结——SIPaKMeD宫颈细胞Pap涂片数据集
  14. 爬取王者荣耀网站所有英雄皮肤图片
  15. ios课堂派怎么提交附件_iOS怎么在课堂派上传文件?
  16. aecmap快捷键_ArcMap常用快捷键一览表
  17. Path.Direction.CCW与Path.Direction.CW的意思
  18. latex 表格 调整单元格文本垂直居中
  19. 克隆好的CentOS6虚拟机如何联网,解决报错Device eth0 does not seem to be present, delaying initialization
  20. 用c语言表现一元多项式的除法,c语言编程实例一元多项式的计算

热门文章

  1. 笔记本系统恢复连载之七:华硕笔记本系统恢复
  2. 【JavaEE】HTTP(Part1 含面试题)
  3. linux 登陆ftp及文件上传及下载
  4. 斯德哥尔摩的照片六:旧城(中)
  5. excel中的函数公式使用方法
  6. 在复杂场景下基于VIO辅助的运动恢复结构方案
  7. 《Adobe Illustrator CS5中文版经典教程》—第1课1.3节 修改图稿的视图
  8. html 中avi视频插件,JDG两连胜:Kanavi两连MVP,获新称号“绝活哥皎月”
  9. 计算机信息技术与幼儿教育论文,【幼儿教育论文】信息技术与幼儿教育的整合(共1505字)...
  10. 【渝粤题库】广东开放大学 跨境电商实务之外贸B2B平台操作 形成性考核