自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python能做的5件有趣的事情,你做過幾個?

開發(fā) 后端
現(xiàn)在Python越來越受程序員歡迎了,程序員用Python可以做哪些有趣的事情呢?下面作者就給小伙伴們介紹一下Python編程的5件趣事。

現(xiàn)在Python越來越受程序員歡迎了,程序員用Python可以做哪些有趣的事情呢?

下面w3cschool就給小伙伴們介紹一下Python編程的5件趣事:

0.for-else用法

循環(huán)正常結(jié)束則執(zhí)行else語句。一般用于循環(huán)找符合條件的元素,如果找到則break調(diào)出循環(huán),不會觸發(fā)else;如果沒有找到(完整運行循環(huán))則print not found

[[228473]]

1.or的用法

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

我們會經(jīng)常看到類似這樣的用法(比如函數(shù)的一個value參數(shù)沒有設(shè)置默認值,這樣使用就允許它不賦值) 

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

Python能做的5件有趣的事情,你做過幾個?

2.and的用法

python中x and y表示如果x是假,結(jié)果就是x的值,否則就是y的值

x and y and z多個and連接時,如果全是真結(jié)果就是***一個的值;如果中間有假的值,結(jié)果就是***個假的值

舉一個例子 

  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的差別,他們邏輯類似,但是實現(xiàn)的功能是不可以相互替代的

or 是結(jié)果如果不滿意有個善后工作

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.迭代器傳入函數(shù)中不用加括號 

  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.  

如果可迭代對象包含的元素和前面待賦值變量數(shù)量不一致,則會報錯。但是可以通過*來表示多個元素

[[228476]]

3.星號的使用

比如我們要計算平均分,去除***分和***分,除了用切片,還可以用解包的方式獲得中間的數(shù)值 

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

用*來表示多個數(shù)值

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

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2023-06-01 08:22:13

2012-04-17 09:13:04

2015-11-02 09:50:48

電腦1秒鐘事情

2015-11-23 09:50:17

大數(shù)據(jù)

2011-05-20 08:53:07

HTML 5

2021-10-14 06:52:47

算法校驗碼結(jié)構(gòu)

2020-09-01 08:06:54

Kubernetes資源

2019-09-03 15:33:35

網(wǎng)絡(luò)安全保險網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2020-03-29 20:27:51

Python函數(shù)開發(fā)

2013-09-12 11:24:24

創(chuàng)業(yè)

2011-06-24 14:18:40

Firefox 5

2013-07-31 11:05:05

硬件處理ITM硬件

2018-03-02 08:30:10

Wi-Fi網(wǎng)絡(luò)速度

2022-03-23 15:32:38

Python開發(fā)代碼

2012-05-28 09:34:33

Linux Mint UbuntOS

2016-11-21 11:50:37

2016-12-01 14:54:57

2018-06-04 08:52:13

LinuxIP工具

2017-04-13 10:08:30

軟件開發(fā)開發(fā)

2013-08-01 14:28:02

iOS 7應(yīng)用避免
點贊
收藏

51CTO技術(shù)棧公眾號