写点什么

阅读笔记:Python A-Z 技巧

发布于: 2021 年 02 月 07 日
阅读笔记:Python A-Z 技巧

阅读文章后试验加批注:

https://medium.com/free-code-camp/an-a-z-of-useful-python-tricks-b467524ee747

简书上有不少翻译这篇文章的,甚至没有标注来源。哎,这年头,得有点版权意识啊。

文末附上了边读边练的代码,欢迎玩玩。


A

all/any

直接用 any 和 all 把列表包裹起来就可以完成列表里所有值的 或 和 与 运算。

补充一个:

在编辑器跑一下这个,可以打开漫画。在看到这里已经不小心剧透了。哈哈。


B

bashplotlib

可以在命令行画画。一般用不到这个。


C

Collections 库。有很多好用的模块,比如 Counter 可以计数。


D

dir()

把想知道有什么属性/方法的东西丢进去。你就可以看到它后面可以跟的方法。相当于在 Jupyter 里面直接点 Tab 键。

上图里的例子。用 dir('djsfis')获取了字符串有哪些方法,最下面一行,是‘sfi'.capitalize() 调用了一下这个方法。


E

emoji 库 能用 Python 画几个表情,但是没懂这个应用场景。

表情有它更好用的地方。


F

from __future__ import braces 
复制代码



hh 想都别想。第一个属于 Python 里的彩蛋了。

__future__
复制代码

是说 Python 未来版本里会有的新功能。


G

geopy 这个库原来可以打印任何地理位置的地点。

from geopy import GoogleV3。

ConfigurationError: Since July 2018 Google requires each request to have an API key. Pass a valid `api_key` to GoogleV3 geocoder to fix this error. See https://developers.google.com/maps/documentation/geocoding/usage-and-billing
复制代码

但现在付费了。


H

howdoi

会在命令行返回搜索信息,嗯,不过需要代理。对国内用户不太友好呀。


I

inspect

帮助你打开一个方法的 help 内容。哦,要比 help 简洁一些:


J

Jedi 可以帮自带的编译器更好的补全输入之类的。在 Pycharm 里都是自带的。


K

**kwargs 在函数里写参数,可以用字典前面加两个 星号 来传参。


L

列表表达式。可以让代码更简洁易懂。


M

map 一种匿名函数。

做了一件事: 完成了一个从 odds 到 y 的映射。映射关系是,每一个元素加 6。


N

newspaper3k

一个比 requests 库好用的解析库。但是我测下来发现,适合新闻站点。比如,新浪新闻:


可以看到网站的品牌和简介。

随便选择一篇文章,这里是第 8 篇。


parse()解析以后,就可以用 aritcle.xxxx 的格式来查看图片、作者、标题等信息。但是也会有作者为空的情况。


同理,把 www.apple.com 也经过了类似的步骤:

通过内置的 nlp() 可以查看某篇文章的摘要和关键词。其他内容可以在最下面的二维码查看。


O

operator overloading

运算符重载,我不建议这么做。因为容易有误解,而且你可能会忘记你做了什么。当然,除非你有写注释的好习惯。但是何必多此一举呢。如果有大佬路过,欢迎留言告知这个用法。


P

pprint 在打印某些复杂结构的数据时,会打印的很好看:

同样的内容,用自带的 print 打是这样的:


Q

Queue

python 把队列已经封装好了。可以在线程里发挥作用。参考https://www.tutorialspoint.com/python3/python_multithreading.htm 网页的最下面。


R

__repr__
在 class 或者 object 里面,定义后,然后用 print()放到括号里面。就可以打印出 __repr__ 函数里定义的内容了。
复制代码


S

sh import sh,就可以通过 sh.pwd()/mkdir('xx')/... 来执行 linux 命令。


T

Type hints。输入提示,允许在定义函数时提醒需要输入的格式。增加可读性。但是也看到过有人吐槽这个功能让函数变丑了。


U

uuid 随机生成一串码。import uuid 后,uuid.uuid4() 就 ok 。


V

virtual environment。这个超好用。尤其是在搞神经网络的 tensorflow 1.- 2.- 搞的很晕时,可以多建几个虚拟环境。除了需要反复的安装包以外,起码不会让两个版本之间串掉。而且海岸不停的报各种关于版本依赖的错。


可以在 Anaconda 的命令窗口下面输入命令行来实现。


W

wikipedia 在 python 里搜维基百科。

来给你们试试 #clubhouse :


X

xkcd 你在命令行输入一下 import antigravity 试试,就会飞起来。


Y

YAML

一个库,然后可以把任意写的随意的结构变得有组织。但我平时没怎么用。用它的爸爸 json 比较多。就没有演示啦。


Z

zip 可以把两个列表很方便的一一对应起来。而在认识这个 zip 之前,需要遍历然后添加。



好啦。看的心动,想跑跑玩玩,可以扫描下方二维码获取 md 格式的文件(导出了代码和结果,辛苦你们自己判断一下咯),可以复制代码。跑的话记得安装好包,当然也可以选择在 Jupyter 里面 !pip install XX(包的名字)来解决。


玩得开心 : P


发布于: 2021 年 02 月 07 日阅读数: 108
用户头像

进一寸有进一寸的欢喜 2019.07.22 加入

喜欢玩 Python 和 写书摘 的女孩儿 见证我的成长-->微信公众号:小匚(fang,一声),等你来~

评论

发布
暂无评论
阅读笔记:Python A-Z 技巧