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

python return邏輯判斷表達(dá)式實現(xiàn)解析

 更新時間:2019年12月02日 14:49:33   作者:猿說python  
這篇文章主要介紹了python return邏輯判斷表達(dá)式實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了python return邏輯判斷表達(dá)式實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一.return邏輯判斷表達(dá)式 and

and:遇假則假,所以前面為假就不執(zhí)行和判斷后面直接返回假;前面為真則繼續(xù)判斷執(zhí)行后面直到表達(dá)式結(jié)束或者出現(xiàn)假為

# !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():
  # 檢測所有表達(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á)式:返回值為第一個假表達(dá)式的結(jié)果;

2.如果沒有假的表達(dá)式:返回值為最后一個真表達(dá)式的結(jié)果;

二.return邏輯判斷表達(dá)式 or

or:遇真則真,所以前面為真就不執(zhí)行和判斷后面;前面為假則繼續(xù)判斷執(zhí)行后面直到表達(dá)式結(jié)束或者出現(xiàn)真為止;

def fun1():
  # 所有條件都為真,返回第一個真的表達(dá)式
  return "21" or True
 
def fun2():
  # 所有條件都為假,直到遇到真為止,并返回真,沒有真則返回最后一個假
  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á)式:返回值為第一個真表達(dá)式的結(jié)果;

2.如果沒有真的表達(dá)式:返回值為最后一個假表達(dá)式的結(jié)果;

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

and和or配合使用:其實并沒有先后順序,表達(dá)式重前往后依次執(zhí)行,上一個表達(dá)式的結(jié)果作為下一個表達(dá)式的開始;

def fun1():
  '''
  動作分解:
 
  第一步:"21" and True 返回結(jié)果 True
  第二步:True or 1 返回結(jié)果 True
  注意第二步 True or 1 中的 True 是第一步返回的結(jié)果并不是表達(dá)式中的True
  '''
  return "21" and True or 1 #等價:return (("21" and True) or 1)
 
def fun2():
  '''
  動作分解:
 
  第一步:"" or False 返回結(jié)果 False
  第二步:False and 0 返回結(jié)果 False
  注意第二步 False and 0 中的 False 是第一步返回的結(jié)果并不是表達(dá)式中的 False
  '''
  return "" or False and 0 #等價:return (("" or False) and 0)
 
def fun3():
  '''
  動作分解:
 
  第一步: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 #等價:return ((((0 or True) and False) or 54) and 0)
 
def fun4():
  '''
  動作分解:
 
  第一步: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 #等價:return (((0 and True and False) or 54) and 0)
 
print(fun1())
print(fun2())
print(fun3())
print(fun4())

輸出結(jié)果:

True
False
0
0

四.重點總結(jié)

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論