Python能做的5件有趣的事情,你做过几个?

开发 后端
现在Python越来越受程序员欢迎了,程序员用Python可以做哪些有趣的事情呢?下面作者就给小伙伴们介绍一下Python编程的5件趣事。

现在Python越来越受程序员欢迎了,程序员用Python可以做哪些有趣的事情呢?

下面w3cschool就给小伙伴们介绍一下Python编程的5件趣事:

0.for-else用法

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

[[228473]]

1.or的用法

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

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

  1. value = value or {}  
  2. # 相当于  
  3. value = value if value else {} 

Python能做的5件有趣的事情,你做过几个?

2.and的用法

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

x and y and z多个and连接时,如果全是真结果就是***一个的值;如果中间有假的值,结果就是***个假的值

举一个例子 

  1. def not_empty(a):  
  2. return a and a.strip()  
  3. not_empty(' a ' 
  4. # 值为 'a'  
  5. not_empty(None)  
  6. # 不会报错(如果 return a.strip() 就会报错)  
  7. # 在处理None的问题上相当于  
  8. def not_empty(a):  
  9. if a is None:  
  10. return None  
  11. else 
  12. return a.strip()  

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

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

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

[[228475]]

3.单行if-else 

  1. a = 1  
  2. b = 3 if a == 1 else 2  
  3. print('it is one' if a == 1 else 'no' 

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

  1. # 一般是这样  
  2. a = (i for i in range(10))  
  3. sum(a)  
  4. # 我们可以这样  
  5. sum((i for i in range(10)))  
  6. # 但我们还可以这样  
  7. sum(i for i in range(10))  
  8. # 类似的有  
  9. ' '.join(str(i) for i in range(10))  

python有趣的解包用法

python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体剥离出来,这个过程就是解包,我们来看下面这些例子。

1.将list中每个元素赋值给一个变量 

  1. >>> name, age, date = ['Bob', 20, '2018-1-1' 
  2. >>> name  
  3. 'Bob'  
  4. >>> age  
  5. 20  
  6. >>> date  
  7. '2018-1-1'  

2.可迭代对象都可以这样做 

  1. # 列表  
  2. >>> a,b,c = ['a''b''c' 
  3. >>> a  
  4. 'a'  
  5. >>> a,b,c = enumerate(['a''b''c'])  
  6. >>> a  
  7. (0, 'a' 
  8. # 元组  
  9. >>> a,b,c = ('a''b''c' 
  10. >>> a  
  11. 'a'  
  12. # 字典  
  13. >>> a,b,c = {'a':1, 'b':2, 'c':3}  
  14. >>> a  
  15. 'a'  
  16. >>> a,b,c = {'a':1, 'b':2, 'c':3}.items()  
  17. >>> a  
  18. ('a', 1)  
  19. # 字符串  
  20. >>> a,b,c = 'abc'  
  21. >>> a  
  22. 'a'  
  23. # 生成器  
  24. >>> a,b,c = (x + 1 for x in range(3))  
  25. >>> a  
  26.  

如果可迭代对象包含的元素和前面待赋值变量数量不一致,则会报错。但是可以通过*来表示多个元素

[[228476]]

3.星号的使用

比如我们要计算平均分,去除***分和***分,除了用切片,还可以用解包的方式获得中间的数值 

  1. >>> first, *new, last = [94, 85, 73, 46]  
  2. >>> new  
  3. [85, 73]  

用*来表示多个数值

你用python做过什么有趣的事情? 

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2023-06-01 08:22:13

2012-04-17 09:13:04

2015-11-23 09:50:17

大数据

2015-11-02 09:50:48

电脑1秒钟事情

2011-05-20 08:53:07

HTML 5

2021-10-14 06:52:47

算法校验码结构

2020-09-01 08:06:54

Kubernetes资源

2019-09-03 15:33:35

网络安全保险网络安全网络攻击

2020-03-29 20:27:51

Python函数开发

2013-09-12 11:24:24

创业

2011-06-24 14:18:40

Firefox 5

2022-03-23 15:32:38

Python开发代码

2013-07-31 11:05:05

硬件处理ITM硬件

2012-05-28 09:34:33

Linux Mint UbuntOS

2018-03-02 08:30:10

Wi-Fi网络速度

2018-06-04 08:52:13

LinuxIP工具

2016-12-01 14:54:57

2016-11-21 11:50:37

2017-04-13 10:08:30

软件开发开发

2020-10-09 10:51:42

部署
点赞
收藏

51CTO技术栈公众号