python return邏輯判斷表達式(21)


技術

一.return邏輯判斷表達式 and

    and:遇假則假,所以前面為假就不執行和判斷后面直接返回假;前面為真則繼續判斷執行后面直到表達式結束或者出現假為止;

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解憂
@Blog(個人博客地址): shuopython.com
@WeChat Official Account(微信公眾號):猿說python
@Github:www.github.com
 
@File:python_return.py
@Time:2019/10/6 19:48
 
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
"""
 
def fun1():
    # 所有條件都為真,返回最后一個值
    return "21" and True
 
def fun2():
    # 檢測所有表達式,直到遇到假為止,並返回假
    return 54 and 1 and True and 0
 
def fun3():
    # 遇到真,繼續后面的判斷,直到遇到假為止,如果遇見假直接返回,不再繼續判斷
    return 1 and True and False and 54 and 0
 
print(fun1())
print(fun2())
print(fun3())

 

輸出結果:

True
0
False

 

 

    小敲門:

    1.如果有假的表達式:返回值為第一個假表達式的結果;

    2.如果沒有假的表達式:返回值為最后一個真表達式的結果;

 

二.return邏輯判斷表達式 or

    or:遇真則真,所以前面為真就不執行和判斷后面;前面為假則繼續判斷執行后面直到表達式結束或者出現真為止;

def fun1():
    # 所有條件都為真,返回第一個真的表達式
    return "21" or True
 
def fun2():
    # 所有條件都為假,直到遇到真為止,並返回真,沒有真則返回最后一個假
    return "" or False or 0
 
def fun3():
    # 直到遇到真為止,並返回真,不在繼續后面的判斷
    return 0 or True or False or 54 or 0
 
print(fun1())
print(fun2())
print(fun3())

 

輸出結果:

21
0
True

 

小敲門:

    1.如果有真的表達式:返回值為第一個真表達式的結果;

    2.如果沒有真的表達式:返回值為最后一個假表達式的結果;

 

三.return邏輯判斷表達式 and和or配合使用

    and和or配合使用:其實並沒有先后順序,表達式重前往后依次執行,上一個表達式的結果作為下一個表達式的開始;

def fun1():
    '''
    動作分解:
 
    第一步:"21" and True  返回結果 True
    第二步:True or 1  返回結果 True
    注意第二步 True or 1 中的 True 是第一步返回的結果並不是表達式中的True
    '''
    return "21" and True or 1  #等價:return (("21" and True) or 1)
 
def fun2():
    '''
    動作分解:
 
    第一步:"" or False  返回結果 False
    第二步:False and 0  返回結果 False
    注意第二步 False and 0 中的 False 是第一步返回的結果並不是表達式中的 False
    '''
    return "" or False and 0 #等價:return (("" or False) and 0)
 
def fun3():
    '''
    動作分解:
 
    第一步:0 or True  返回結果 True
    第二步:True and False  返回結果 False
    第三步:False or 54  返回結果 54
    第四步:54 and 0  返回結果 0
    注意:上一步的結果作為下一步的開始
    '''
    return 0 or True and False or 54 and 0 #等價:return ((((0 or True) and False) or 54) and 0)
 
def fun4():
    '''
    動作分解:
 
    第一步:0 and True and False  返回結果 0
    第二步:0 or 54  返回結果 54
    第三步:54 and 0  返回結果 0
    注意:上一步的結果作為下一步的開始
    '''
    return 0 and True and False or 54 and 0 #等價:return (((0 and True and False) or 54) and 0)
 
print(fun1())
print(fun2())
print(fun3())
print(fun4())

 

輸出結果:

True
False
0
0

 

 

四.重點總結

    其實作為一個普通函數直接返回字符串或者其他數據類型就完了,為何非要這樣費力不討好?學習學習,學習是一個過程,我想我們應該過程中成長,不然即使寫了一萬次hello world又有何用?return邏輯判斷表達式 / 字典推導式 / 列表推導式 都是在各種開源項目中頻繁使用得寫法,這往往也是編程水平的一種提現。

裝

猜你喜歡:

    1.python函數

    2.python匿名函數

    3.python函數不定長參數*argc,**kargcs

 

    轉載請注明:猿說Python » python return邏輯判斷表達式

 

技術交流、商務合作請直接聯系博主
掃碼或搜索:猿說python
python教程公眾號
猿說python
微信公眾號 掃一掃關注


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM