<p>被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能。本文或许能够让你学到一些新技巧。</p>
<p><img alt="5d85f8a6637c43a48136dd63938f6db8" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-6c8dcb50d4df8eed80fe02aefba89168"><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==">?</p>
<p>Python 是世界上最流行、热门的编程语言之一,原因很多,比如:</p>
<p>易于学习</p>
<p>超高的通用性</p>
<p>具备大量模块和库</p>
<p>本文将分享一些使用 Python 的技巧,顺序按照 A-Z 排列。</p>
<p>all or any</p>
<p>Python 非常受欢迎的原因之一是其可读性和表达性。</p>
<p>人们还经常把 Python 笑称为「可执行伪码(executable pseudocode)」。但是,当你可以编写这样的代码时,很难去反驳这种言论:</p>
<p>x = [True, True, False]</p>
<p>if any(x):</p>
<p>print("At least one True")</p>
<p>if all(x):</p>
<p>print("Not one False")</p>
<p>if any(x) and not all(x):</p>
<p>print("At least one True and one False")</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>bashplotlib</p>
<p>想在控制台中绘图吗?</p>
<p>$ pip install bashplotlib</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>使用上面的行,即可在控制台中绘图。</p>
<p>collections</p>
<p>Python 有一些很棒的默认数据类型,但有时候它们可能不会尽如你意。</p>
<p>不过,Python 标准库提供了 collections 模块。这个方便的附加组件可以为你提供更多数据类型。</p>
<p>collections 模块:https://docs.python.org/3/library/collections.html</p>
<p>from collections import OrderedDict, Counter</p>
<p># Remembers the order the keys are added!</p>
<p>x = OrderedDict(a=1, b=2, c=3)</p>
<p># Counts the frequency of each character</p>
<p>y = Counter("Hello World!")</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>dir</p>
<p>你是否想过如何查看 Python 对象内部及其具有哪些属性?</p>
<p>输入以下命令行:</p>
<p>>>> dir()</p>
<p>>>> dir("Hello World")</p>
<p>>>> dir(dir)</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>当以交互方式运行 Python 时,这可能是一个非常有用的功能,并且可以动态地探索你正在使用的对象和模块。</p>
<p>想要了解更多,点这里:https://docs.python.org/3/library/functions.html#dir</p>
<p>emoji</p>
<p>是的,真的有。请点击这里:https://pypi.org/project/emoji/</p>
<p>$ pip install emoji</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>别以为我不知道你会偷偷试它→→</p>
<p>from emoji import emojize</p>
<p>print(emojize(":thumbs_up:"))</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>?</p>
<p>from __future__ import</p>
<p>Python 流行的一个结果是,总有新版本正在开发中。新版本意味着新功能——除非你的版本已经过时。</p>
<p>不过,别担心。__ future__模块允许用户导入新版 Python 的功能。这简直就像时间旅行,或者魔法什么的。</p>
<p>__ future__模块:https://docs.python.org/2/library/*future*.html</p>
<p>from __future__ import print_function</p>
<p>print("Hello World!")</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>geopy</p>
<p>地理(Geography)对于程序员来说可能是一个具有挑战性的领域。但是 geopy 模块让它变得异常简单。</p>
<p>geopy 模块:https://geopy.readthedocs.io/en/latest/</p>
<p>$ pip install geopy</p>
<p><img alt="wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></p>
<p>它通过抽取一系列不同地理编码服务的 API 来工作,使用户获取一个地方的完整街道地址、纬度、经度,甚至海拔高度。</p>
<p>另外一个有用的功能是距离:它可以用你喜欢的度量单位计算出两个位置之间的距离。</p>
<p>from geopy import GoogleV3</p>
<p>place = "221b Baker Street, London"</p>
<p>location = GoogleV3().geocode(place)</p |
|