python return邏輯判斷表達(dá)式實(shí)現(xiàn)解析
這篇文章主要介紹了python return邏輯判斷表達(dá)式實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一.return邏輯判斷表達(dá)式 and
and:遇假則假,所以前面為假就不執(zhí)行和判斷后面直接返回假;前面為真則繼續(xù)判斷執(zhí)行后面直到表達(dá)式結(jié)束或者出現(xiàn)假為
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個(gè)人博客地址): shuopython.com @WeChat Official Account(微信公眾號(hào)):猿說python @Github:www.github.com @File:python_return.py @Time:2019/10/6 19:48 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! """ def fun1(): # 所有條件都為真,返回最后一個(gè)值 return "21" and True def fun2(): # 檢測(cè)所有表達(dá)式,直到遇到假為止,并返回假 return 54 and 1 and True and 0 def fun3(): # 遇到真,繼續(xù)后面的判斷,直到遇到假為止,如果遇見假直接返回,不再繼續(xù)判斷 return 1 and True and False and 54 and 0 print(fun1()) print(fun2()) print(fun3())
輸出結(jié)果:
True 0 False
小敲門:
1.如果有假的表達(dá)式:返回值為第一個(gè)假表達(dá)式的結(jié)果;
2.如果沒有假的表達(dá)式:返回值為最后一個(gè)真表達(dá)式的結(jié)果;
二.return邏輯判斷表達(dá)式 or
or:遇真則真,所以前面為真就不執(zhí)行和判斷后面;前面為假則繼續(xù)判斷執(zhí)行后面直到表達(dá)式結(jié)束或者出現(xiàn)真為止;
def fun1(): # 所有條件都為真,返回第一個(gè)真的表達(dá)式 return "21" or True def fun2(): # 所有條件都為假,直到遇到真為止,并返回真,沒有真則返回最后一個(gè)假 return "" or False or 0 def fun3(): # 直到遇到真為止,并返回真,不在繼續(xù)后面的判斷 return 0 or True or False or 54 or 0 print(fun1()) print(fun2()) print(fun3())
輸出結(jié)果:
21 0 True
小敲門:
1.如果有真的表達(dá)式:返回值為第一個(gè)真表達(dá)式的結(jié)果;
2.如果沒有真的表達(dá)式:返回值為最后一個(gè)假表達(dá)式的結(jié)果;
三.return邏輯判斷表達(dá)式 and和or配合使用
and和or配合使用:其實(shí)并沒有先后順序,表達(dá)式重前往后依次執(zhí)行,上一個(gè)表達(dá)式的結(jié)果作為下一個(gè)表達(dá)式的開始;
def fun1():
'''
動(dòng)作分解:
第一步:"21" and True 返回結(jié)果 True
第二步:True or 1 返回結(jié)果 True
注意第二步 True or 1 中的 True 是第一步返回的結(jié)果并不是表達(dá)式中的True
'''
return "21" and True or 1 #等價(jià):return (("21" and True) or 1)
def fun2():
'''
動(dòng)作分解:
第一步:"" or False 返回結(jié)果 False
第二步:False and 0 返回結(jié)果 False
注意第二步 False and 0 中的 False 是第一步返回的結(jié)果并不是表達(dá)式中的 False
'''
return "" or False and 0 #等價(jià):return (("" or False) and 0)
def fun3():
'''
動(dòng)作分解:
第一步:0 or True 返回結(jié)果 True
第二步:True and False 返回結(jié)果 False
第三步:False or 54 返回結(jié)果 54
第四步:54 and 0 返回結(jié)果 0
注意:上一步的結(jié)果作為下一步的開始
'''
return 0 or True and False or 54 and 0 #等價(jià):return ((((0 or True) and False) or 54) and 0)
def fun4():
'''
動(dòng)作分解:
第一步:0 and True and False 返回結(jié)果 0
第二步:0 or 54 返回結(jié)果 54
第三步:54 and 0 返回結(jié)果 0
注意:上一步的結(jié)果作為下一步的開始
'''
return 0 and True and False or 54 and 0 #等價(jià):return (((0 and True and False) or 54) and 0)
print(fun1())
print(fun2())
print(fun3())
print(fun4())
輸出結(jié)果:
True False 0 0
四.重點(diǎn)總結(jié)
其實(shí)作為一個(gè)普通函數(shù)直接返回字符串或者其他數(shù)據(jù)類型就完了,為何非要這樣費(fèi)力不討好?學(xué)習(xí)學(xué)習(xí),學(xué)習(xí)是一個(gè)過程,我想我們應(yīng)該過程中成長,不然即使寫了一萬次hello world又有何用?return邏輯判斷表達(dá)式 / 字典推導(dǎo)式 / 列表推導(dǎo)式 都是在各種開源項(xiàng)目中頻繁使用得寫法,這往往也是編程水平的一種提現(xiàn)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用sqlalchemy實(shí)現(xiàn)連接數(shù)據(jù)庫的幫助類
這篇文章主要為大家詳細(xì)介紹了Python如何使用sqlalchemy實(shí)現(xiàn)連接數(shù)據(jù)庫的幫助類,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考下2024-02-02
python基于物品協(xié)同過濾算法實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python基于物品協(xié)同過濾算法實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
詳解Django 時(shí)間與時(shí)區(qū)設(shè)置問題
這篇文章主要介紹了Django 時(shí)間與時(shí)區(qū)設(shè)置問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
用 Python 檢測(cè)兩個(gè)文本文件的相似性的幾種實(shí)現(xiàn)方法
Python 提供了多種方法來實(shí)現(xiàn)這一功能,包括基于字符串匹配、詞頻統(tǒng)計(jì)和機(jī)器學(xué)習(xí)的方法,這篇文章主要介紹了用 Python 檢測(cè)兩個(gè)文本文件的相似性的幾種方法,需要的朋友可以參考下2025-04-04
python+tkinter實(shí)現(xiàn)一個(gè)簡單的秒鐘
這篇文章主要為大家詳細(xì)介紹了Python如何利用tkinter實(shí)現(xiàn)一個(gè)簡單的秒鐘,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以自己動(dòng)手嘗試一下2024-02-02

