在这里,我尝试以 A - Z 开头的格式分享这些技巧中的一些,并且在本文中简单介绍这些方法,如果你对其中一个或多个感兴趣,你可以通过文末参考资料查看官方文档。希望对你能有所帮助。
all or any
Python 语言如此流行的众多原因之一,是因为它具有很好的可读性和表现力。
人们经常开玩笑说 Python 是可执行的伪代码。当你可以像这样写代码时,就很难反驳。
- x = [True, True, False]
- if any(x):
- print("至少有一个True")
- if all(x):
- print("全是True")
- if any(x) and not all(x):
- print("至少一个True和一个False")
bashplotlib
你有没有想过在控制台中绘制图形吗?
Bashplotlib 是一个 Python 库,他能够帮助我们在命令行(粗旷的环境)中绘制数据。
- # 模块安装
- pip install bashplotlib
- # 绘制实例
- import numpy as np
- from bashplotlib.histpgram import plot_hist
- arr = np.ramdom.normal(size=1000, loc=0, scale=1)
- plot_hist(arr, bincount=50)
collections
Python 有一些很棒的默认数据类型,但有时它们的行为并不完全符合你的期望。
幸运的是,Python 标准库提供了 collections 模块[1]。这个方便的附加组件为你提供了更多的数据类型。
- from collections import OrderedDict, Counter
- # 记住键的添加顺序!
- x = OrderedDict(a=1, b=2, c=3)
- # 统计每个字符出现的频率
- y = Counter("Hello World!")
- 复制代码
dir
有没有想过如何查看 Python 对象内部,查看它具有哪些属性?在命令行中输入:
- dir()
- dir("Hello World")
- dir(dir)
emoji
emoji[3] 是日本在无线通信中所使用的视觉情感符号,绘指图画,文字指的则是字符,可用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。在中国大陆,emoji通常叫做“小黄脸”,或者直称emoji。
- # 安装模块
- pip install emoji
- # 做个尝试
- from emoji import emojize
- print(emojize(":thumbs_up:"))
fromfuture import
Python 流行的结果之一,总是有新版本正在开发中。新版本意味着新功能 —— 除非你的版本已过时。
不过不要担心。使用该__future__模块[4]可以帮助你用Python的未来版本导入功能。从字面上看,这就像是时间旅行、魔法或其他东西
- from __future__ import print_function
- print("Hello World!")
geogy
地理,对大多数程序员来说是一个具有挑战性的领域。在获取地理信息或者绘制地图时,也会遇到不少问题。这个geopy 模块[5]让地理相关内容变得非常容易。
- pip install geopy
它通过抽象一系列不同地理编码服务的 API 来工作。通过它,你能够获得一个地方的完整街道地址、纬度、经度甚至海拔高度。
还有一个有用的距离类。它以最好的测量单位计算两个位置之间的距离。
- from geopy import GoogleV3
- place = "221b Baker Street, London"
- location = GoogleV3().geocode(place)
- print(location.address)
- print(location.location)
howdoi
当你使用terminal终端编程时,通过在遇到问题后会在StackOverflow上搜索答案,完后会回到终端继续编程,此时有时会不记得你之前查到的解决方案,此时需要重新查看StackOverflow,但又不想离开终端,那么此时你需要用到这个有用的命令行工具howdoi[6]。
- pip install howdoi
无论你有什么问题,都可以问它,它会尽力回复。
- howdoi vertical align css
- howdoi for loop in java
- howdoi undo commits in git
但请注意——它会在 StackOverflow 的最佳答案中抓取代码。它可能并不总是提供最有用的信息......
- howdoi exit vim
Python 是一种非常多样化且发展良好的语言,因此肯定会有许多我没有考虑到的功能,如果大家有知道的,可以在评论区告诉我