【Python 第51課】 and-or技巧今天介紹一個(gè)python中的小技巧:and-or 1. 2. 3. 4. 5. 6. 輸出: 1. 2. 3. 4. 就可以直接寫成: 1. 2. 然而不幸的是,如果直接這么用,有一天你會(huì)踩到坑的。和c語(yǔ)言中的?:表達(dá)式不同,這里的and
or語(yǔ)句是利用了python中的邏輯運(yùn)算實(shí)現(xiàn)的。當(dāng)a本身是個(gè)假值(如0,"")時(shí),結(jié)果就不會(huì)像你期望的那樣。 1. 2. 3. 4. 得到的結(jié)果就是"hell"。因?yàn)?"和"hell"做and的結(jié)果是"hell"。 1. 2. 3. 4. 在兩個(gè)常量值進(jìn)行選擇時(shí),and-or會(huì)讓你的代碼更簡(jiǎn)單。但如果你覺(jué)得這個(gè)技巧帶來(lái)的副作用已經(jīng)讓你頭大了,沒(méi)關(guān)系,用if-else可以做相同的事情。不過(guò)在python的某些情況下,你可能沒(méi)法使用if語(yǔ)句,比如lambda函數(shù)中,這時(shí)候你可能就需要and-or的幫助了。 什么是lambda函數(shù)?呵呵,這是python的高階玩法,暫且按住不表,以后有機(jī)會(huì)再說(shuō)。 |
|
|
來(lái)自: 一利陽(yáng)光故事會(huì) > 《Python》