欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python三元運算符實現(xiàn)方法

 更新時間:2013年12月17日 09:07:13   作者:  
這篇文章主要介紹了python實現(xiàn)三元運算符的方法,大家參考使用吧

這是今天在溫習(xí)lambda表達式的時候想到的問題,眾所周知C系列語言中的 三元運算符(?:)是一個非常好用的語句,

關(guān)于C中的三元運算符

表達式1?表達式2:表達式3

那么在python應(yīng)該如何實現(xiàn)呢,請看下面例子:

答案是:X = (表達式1)and 表達式2(真值返回)or 表達式3(假值返回)

舉個例子:

復(fù)制代碼 代碼如下:

def main():
    y = 5
    x = (y > 5) and 2 or 4
    print x
    pass

這段代碼的是意思的輸出是4,可以把表達式的條件改為(y<=5)這時候輸出就是2

為什么能得到這樣的結(jié)果:

0、''、[]、()、{}、None在布爾上下文中為假;其它任何東西都為真。
在Python中,and和or執(zhí)行布爾邏輯演算,但是它們并不返回布爾值;而是,返回它們實際進行比較的值之一。
如果布爾上下文中的所有值都為真,那么and返回最后一個值。上下文中的某個值為假,則and返回第一個假值。
如果有一個值為真,or立刻返回該值。如果所有的值都為假,or返回最后一個假值
基于上述的背景,你應(yīng)該還能理解這個表達式的含義了吧。

“注:“里面應(yīng)該是這個用法的一些缺陷,如果表達式2或3是幾個定義的假值(0、''、[]、()、{}、None)之一,就會影響判斷了,我的建議是吧這些假值都用字符串的形式表現(xiàn),并且將“”特殊處理為“”。后續(xù)再做判斷

再次見識到Python的強大,如果您有什么見解歡迎評論。

后記:

最近看了一些文章,有位大神對這個問題對這個缺陷給了一個完美的解決方案

X=(表達式1)and[表達式2(真值返)]or[表達式3(假值返回)](注:表達式2以及表達3不能為0、''、[]、()、{}、None)

對表達式2,3用中括號括起來,這樣兩者的值將永遠不會為假,這個解決方案的確不錯。

相關(guān)文章

  • 淺談解除裝飾器作用(python3新增)

    淺談解除裝飾器作用(python3新增)

    今天小編就為大家分享一篇淺談解除裝飾器作用(python3新增),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 利用PyTorch實現(xiàn)爬山算法

    利用PyTorch實現(xiàn)爬山算法

    這篇文章主要介紹了利用PyTorch實現(xiàn)爬山算法,爬山算法是一種局部擇優(yōu)的方法,采用啟發(fā)式方法,是對深度優(yōu)先搜索的一種改進,它利用反饋信息幫助生成解的決策,屬于人工智能算法的一種
    2022-07-07
  • 在Python中使用K-Means聚類和PCA主成分分析進行圖像壓縮

    在Python中使用K-Means聚類和PCA主成分分析進行圖像壓縮

    這篇文章主要介紹了在Python中使用K-Means聚類和PCA主成分分析進行圖像壓縮,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python爬蟲Scrapy框架IP代理的配置與調(diào)試

    Python爬蟲Scrapy框架IP代理的配置與調(diào)試

    在調(diào)試爬蟲的時候,新手都會遇到關(guān)于ip的錯誤,本文就來介紹一下Python爬蟲Scrapy框架IP代理的配置與調(diào)試,具有一定的參考價值,感興趣的可以了解一下
    2021-12-12
  • pytorch載入預(yù)訓(xùn)練模型后,實現(xiàn)訓(xùn)練指定層

    pytorch載入預(yù)訓(xùn)練模型后,實現(xiàn)訓(xùn)練指定層

    今天小編就為大家分享一篇pytorch載入預(yù)訓(xùn)練模型后,實現(xiàn)訓(xùn)練指定層,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中使用matplotlib繪制mqtt數(shù)據(jù)實時圖像功能

    Python中使用matplotlib繪制mqtt數(shù)據(jù)實時圖像功能

    這篇文章主要介紹了Python中使用matplotlib繪制mqtt數(shù)據(jù)實時圖像,本代碼中publish是一個死循環(huán),數(shù)據(jù)一直往外發(fā)送,詳細代碼跟隨小編一起通過本文學(xué)習(xí)下吧
    2021-09-09
  • Python寫安全小工具之TCP全連接端口掃描器

    Python寫安全小工具之TCP全連接端口掃描器

    這篇文章主要介紹了Python寫安全小工具之TCP全連接端口掃描器,文章通過TCP connect來實現(xiàn)一個TCP全連接端口掃描器。具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法

    Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法

    這篇文章主要介紹了Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法的相關(guān)資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Python?中的?Counter?模塊及使用詳解(搞定重復(fù)計數(shù))

    Python?中的?Counter?模塊及使用詳解(搞定重復(fù)計數(shù))

    Counter 是一個簡單的計數(shù)器,用于統(tǒng)計某些可哈希對象的數(shù)量。它以字典的形式存儲元素和它們的計數(shù),這篇文章主要介紹了Python?中的?Counter?模塊及使用詳解(搞定重復(fù)計數(shù)),需要的朋友可以參考下
    2023-04-04
  • Python實現(xiàn)從url中提取域名的幾種方法

    Python實現(xiàn)從url中提取域名的幾種方法

    這篇文章主要介紹了Python實現(xiàn)從url中提取域名的幾種方法,本文給出了3種方法實現(xiàn)在URL中提取域名的需求,需要的朋友可以參考下
    2014-09-09

最新評論