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

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

创新互联公司主营岑溪网站建设的网络公司,主营网站建设方案,APP应用开发,岑溪h5微信小程序搭建,岑溪网站营销推广欢迎岑溪等地区企业咨询

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

0.for-else用法

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

1.or的用法

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

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

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

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是要做一件事之前先检验一下,不能做就不让它做。

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. 1  

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

3.星号的使用

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

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

用*来表示多个数值

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

名称栏目:Python能做的5件有趣的事情,你做过几个?
文章地址:http://www.shufengxianlan.com/qtweb/news11/43711.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联