python 有趣用法汇总

使用python过程中经常会不经意间遇到非常有趣的用法,于是特意搜集了一些。

有趣的用法

1.for-else用法

循环正常结束则执行else语句。一般用于循环找符合条件的元素,如果找到则调出循环,不会触发;如果没有找到(完整运行循环)则

Python中循环语句中的else用法

《Effictive Python》一书中对for-else用法提出了质疑,主要观点是可以通过封装成函数来取代这一用法,而封装成函数是更加通用易懂的做法,所以一般不会使用for-else用法。为了不影响文章的紧凑,我把评论区对书上内容的引用放在文末“更新补充”部分,有兴趣的读者可以去看一下。

2.try-else用法

如果没有触发异常就执行

3.解包用法

类似这样

4.单行if-else

5.迭代器传入函数中不用加括号

6.对生成器进行筛选

7.or的用法

python中表示如果x为真就是x的值,否则为y的值

我们会经常看到类似这样的用法(比如函数的一个参数没有设置默认值,这样使用就允许它不赋值)

8.and的用法

python中表示如果x是假,结果就是x的值,否则就是y的值

多个and连接时,如果全是真结果就是最后一个的值;如果中间有假的值,结果就是第一个假的值

举一个例子

细细品味and和or的差别,他们逻辑类似,但是实现的功能是不可以相互替代的

or 是结果如果不满意有个善后工作

and是要做一件事之前先检验一下,不能做就不让它做

9.if value:

这里总结一下这种情况下什么时候是,什么时候是

False:

True:

没有内容的可迭代对象

另外要注意一点,我们用判断一个对象是不是的时候,要而不要直接,因为如果是后者,有非常多不是的情况也会判定为,比如空字符串、空列表等,为了精确指定还是要用前者,这也是一种规范。

10.下划线的特殊使用

python中下划线是一种特殊的变量和符号,有一些特殊的用途

11.文档字符串

python有一种独一无二的注释方式,在包、模块、函数、类中第一句,使用这样三引号注释,就可以在对象中用的方式提取

比较规范的写法是这样的(这里参考模块的写法)

其实参数还有其他的写法,如库的写法。

除此之外,函数注释还有另一种方式,函数名可以直接调用某个参数的注释。

有用的函数

1.sum的本质

本质:将可迭代对象使用连接

所以返回结果为

2.range(start, stop[, step])

可以直接用降序循环

3.enumerate循环索引

4.管道操作

func1(func2(func3(a)))写成类似a %>% func3 %>% func2 %>% func1,清晰展示函数执行的顺序,增强可读性

python本身不带有这样的用法,只是一些库提供了这样的用法。

其他

另外,就是一些基础的

列表推导式

装饰器

生成器

链式比较

作者:西边人

头条号:请搜索(马蚁蛋)

公众号:软件测试资源站(ID:testpu)

关注后私信回复 入群,加入自学社群联盟。

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607A0R5ML00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券