Python 是一门语法非常简洁的语言,其可读性和表达性都非常的强,今天就给大家分享一下我珍藏已久的一些小技巧,话不多说直接看 🌰
0x00 emoji
如何优雅的在 Python 中使用 emoji 表情,这个库兴许可以满足你的需求。
In [1]: import emoji
In [2]: emoji.emojize('Python is :thumbs_up:')
Out[2]: 'Python is 👍'
0x01 dir
当你想查看一个 Python 对象的属性时,dir 可以做到。
In [3]: dir(3)
Out[3]:
['__abs__',
'__add__',
...
'real',
'to_bytes']
0x02 map
map 结合 lambda 函数可以完成一些意想不到的操作。
In [11]: x = [1, 2, 3, 4, 5]
In [12]: y = map(lambda x : x ** 2 , x)
In [13]: list(y)
Out[13]: [1, 4, 9, 16, 25]
0x03 bashplotlib
有没有想过在命令行玩转图表呢,快来试试 bashplotlib 吧。
In [15]: import numpy as np
In [16]: from bashplotlib.histogram import plot_hist
In [17]: arr = np.random.normal(size=1000, loc=0, scale=1)
In [18]: plot_hist(arr, bincount=50)
58| o
55| o
52| o
49| oo
46| o oo o o o
43| o oooo o o
40| oooooooo o o
37| o oooooooooo o
34| o oooooooooo oo
31| ooooooooooooooooo
28| ooooooooooooooooooo
25| oooooooooooooooooooo
22| oooooooooooooooooooo
19| o ooooooooooooooooooooo
16| o oooooooooooooooooooooo o
13| ooooooooooooooooooooooooo oo
10| oooooooooooooooooooooooooooo o
7| oo ooooooooooooooooooooooooooooooo o
4| o ooooooooooooooooooooooooooooooooooooo o
1| o o oooo oooooooooooooooooooooooooooooooooooooooo
--------------------------------------------------
0x04 pprint
当你输出一个复杂的对象时,Python 自带的 print 函数其输出可读性是不怎么好的,这时候 pprint 就显示出用处了,pprint 可以让复杂的对象以及其友好的形式展现出来。
In [33]: info = {'info': {'page': 1, 'results': 1, 'id': '1', 'version': '1.0'}, 'has_more': True, 'total': 100}
In [34]: pprint.pprint(info)
{'has_more': True,
'info': {'id': '1', 'page': 1, 'results': 1, 'version': '1.0'},
'total': 100}
0x05 zip
zip 函数可以让两个列表中的元素逐个映射到一个新的字典当中。
In [35]: keys = ['x', 'y', 'z']
In [36]: values = [1, 2, 3]
In [37]: dict(zip(keys, values))
Out[37]: {'x': 1, 'y': 2, 'z': 3}
0x06 sh
我们可以像调用方法那样来调用系统的命令。
In [47]: import sh
In [48]: sh.echo('Hello Python')
Out[48]: Hello Python
0x07 推导式
最后一个技巧就是 Python 界的经典用法推导式了,可以非常快速的生成列表。
In [49]: num_list = [num for num in range(0, 10)]
In [50]: num_list
Out[50]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
总结
人生苦短,我用 Python,希望这些小技巧可以让你的 Python 学习之路更加顺畅