前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >59个Python使用技巧,从此你的Python与众不同(三)

59个Python使用技巧,从此你的Python与众不同(三)

作者头像
1480
发布2020-02-19 13:29:42
4050
发布2020-02-19 13:29:42
举报
文章被收录于专栏:数据分析1480

20. 隐藏特性 5,带关键字的格式化

代码语言:javascript
复制

更新些的格式化:

代码语言:javascript
复制

21. 隐藏特性 6,切片操作的步长参数

可以用步长 -1 来反转链表:

代码语言:javascript
复制

22. 隐藏特性 7,嵌套列表推导式

代码语言:javascript
复制

列表推导构造permutation: 可以用 itertools.permutations 来实现。

代码语言:javascript
复制

23. 隐藏特性 8,print 重定向输出到文件

注意打开的模式: “w+” 而不能 “w” , 当然 “a” 是可以的

代码语言:javascript
复制
>>> print >> open("somefile", "w+"), "Hello World"

24. 隐藏特性 9, Python3中的元组unpack

代码语言:javascript
复制

25. 隐藏特性 10,pow的第三个参数

其实第三个参数是来求模的: pow(x, y, z) == (x ** y) % z,注意,内置的 pow 和 math.pow 并不是一个函数,后者只接受2个参数。

代码语言:javascript
复制

26. 隐藏特性 11,enumerate还有第二个参数¶

enumerate 很赞,可以给我们索引和序列值的对, 但是它还有第二个参数,这个参数用来: 指明索引的起始值。

代码语言:javascript
复制

27. 隐藏特性 12,显式的声明一个集合

在Python 2.7 之后可以这么声明一个集合。

代码语言:javascript
复制

28. 隐藏特性 13,用切片来删除序列的某一段

代码语言:javascript
复制

当然用 del a[1:4] 也是可以的,去除偶数项(偶数索引的):

代码语言:javascript
复制

29. 隐藏特性 14,isinstance可以接收一个元组

这个真的鲜为人知, 我们可以用 isinstance(x, (float, int)) 来判断 x 是不是数,也就是那个元组里面是 或 的关系,只要是其中一个的实例就返回 True。

代码语言:javascript
复制

30. 让关键代码依赖于外部包

虽然Python让许多编程任务变得容易,但它可能并不总能为紧急的任务提供最佳性能。你可以为紧急的任务使用C、C++或机器语言编写的外部包,这样可以提高应用程序的性能。这些包都是不能跨平台的,这意味着你需要根据你正在使用的平台,寻找合适的包。

简而言之,这个方案放弃了一些应用程序的可移植性,以换取只有在特定主机上直接编程才能获得的程序性能。这里有一些你应该考虑加入到你的“性能兵工厂”的包:

  • Cython
  • PyInlne
  • PyPy
  • Pyrex

这些包以不同的方式提高性能。例如,Pyrex能够扩展Python所能做的事情,例如使用C的数据类型来让内存任务更加有效或直接。PyInIne让你在Python应用程序中直接使用C代码。程序中的内联代码单独编译,但它在利用C语言所能提供的效率的同时,也让所有的代码都在同一个地方。

End.

作者:地球的外星人君

来源:知乎

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据分析1480 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这个真的鲜为人知, 我们可以用 isinstance(x, (float, int)) 来判断 x 是不是数,也就是那个元组里面是 或 的关系,只要是其中一个的实例就返回 True。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档