python是世界上最流行的编程语言之一。
这有许多原因:
容易学习
可跨平台
拥有大量的模块和库
我把使用Python作为数据科学家日常工作的一部分。一路上,我学会了一些有用的技巧和要点。
在这里,我尝试以A - Z格式分享其中的一些。
这些“技巧”大部分是我在日常工作中使用或偶然发现的。我在浏览Python标准库文档时发现了一些。另一些是我在搜索PyPi时发现的。
然而,值得称赞的是其中的四五个是我在awesome-python.com发现的。这是数百个有趣的Python工具和模块的精选列表。值得浏览寻找灵感!
all or any
python之所以如此受欢迎的原因之一是因为它可读性和表现力强。
人们经常开玩笑说Python是“可执行伪代码”。但是,当你可以编写这样的代码时,很难用其他方式反驳:
bashplotlib
你想在控制台中绘制图表吗?
你就可以在控制台中画出图表了。
collections
python有一些很好的默认数据类型,但有时它们表现的不如你期望的哪样。
幸运的是,Python标准库提供了collections模块。这个方便的附加组件为您提供了更多的数据类型。
dir
你有没有想过如何在Python对象内部查看它的属性?这当然可以。
看看下面这条命令行:
当以交互方式运行Python时,这可能是一个非常有用的功能,可以动态地查看您正在使用的对象和模块。
emoji
是的,这是真的!
不要假装你不想去尝试......
from __future__ import
Python的流行导致是总是有新版本在开发中。新版本意味着新功能——除非你的版本已经过时。
然而,不要害怕。__future__模块允许你从Python的未来的版本导入功能。这简直就像时间旅行,或者魔法什么的。
为什么不开始导入花括号?
geopy
地理可能是程序员难以挑战的领域,时常让人找不清方向。但是geopy模块让这变得异常简单。
它通过抽取一系列不同的地理编码服务APIs来工作。使你能够获得一个地方的完整街道地址、纬度、经度和海拔。
还有一个有用的distance类。以你喜欢的单位计算两个位置之间的距离。
howdoi
遇到编码问题,但不记得你以前见过的解决方案了?需要检索StackOverflow,但不想离开终端?
那么你需要这个有用的命令行工具。
无论你有什么问题,都要问它,它会尽最大努力回答你的问题
但是请注意——它从StackOverflow的置顶答案中抓取代码。因此可能不总是提供最有用的信息...
inspect
python的inspect模块非常有助于理解幕后发生的事情。你甚至可以用它调用它自己的方法!
下面的代码示例使用inspect.getsource()输出它自己的源代码。它还使用inspect.getmodule()输出由它定义的模块。
最后一行代码打印出自己的行号。
当然,除了这些琐碎的用途之外,inspect模块对于理解代码正在做什么可能会很有用。你也可以用它来编写自我记录的代码。
Jedi
Jedi库是一个自动补全和代码分析库。它使编写代码更快、更有成效。
除非你正在开发自己的IDE,否则你可能会对使用Jedi作为编辑器插件最感兴趣。幸运的是,这已经成为现实了!
然而,你可能已经在使用Jedi。IPython项目正利用Jedi的代码自动补全功能。
**kwargs
学习任何语言时,都会有许多里程碑。对于Python来说,理解神秘的**kwargs语法可能算一个。
字典对象前面的双星号允许您将该字典的内容作为命名参数传递给函数。
字典的键是参数名,值是传递给函数的值。你甚至不需要用kwargs命名字典!、
当您想要编写能够处理事先未定义的命名参数的函数时,这很有用。
List comprehensions
领取专属 10元无门槛券
私享最新 技术干货