程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python學習3

編輯:Python

條件表達式 

在選擇和循環結構中,條件表達式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元組、空集合、空字典、空字符串、空range對象或其他空迭代對象,Python解釋器均認為與True等價。

邏輯運算符and和or以及關系運算符具有惰性求值特點,只計算必須計算的表達式

以“and”為例,對於表達式“表達式1 and 表達式2”而言,如果“表達式1”的值為“False”或其他等價值時,不論“表達式2”的值是什麼,整個表達式的值都是“False”,此時“表達式2”的值無論是什麼都不影響整個表達式的值,因此將不會被計算,從而減少不必要的計算和判斷。

Python還支持如下形式的表達式:

value1 if condition else value2

當條件表達式condition的值與True等價時,表達式的值為value1,否則表達式的值為value2。在value1和value2中還可以使用復雜表達式,包括函數調用和基本輸出語句。這個結構的表達式也具有惰性求值的特點。

>>> a = 5
>>> print(6) if a>3 else print(5)
6
>>> print(6 if a>3 else 5)
6
>>> b = 6 if a>13 else 9
>>> b
9

惰性求值 

#此時還沒有導入math模塊
>>> x = math.sqrt(9) if 5>3 else random.randint(1, 100)
NameError: name 'math' is not defined
>>> import math
#此時還沒有導入random模塊,但由於條件表達式5>3的值為True,所以可以正常運行
>>> x = math.sqrt(9) if 5>3 else random.randint(1,100)
#此時還沒有導入random模塊,由於條件表達式2>3的值為False,需要計算第二個表達式的值,因此出錯
>>> x = math.sqrt(9) if 2>3 else random.randint(1, 100)
NameError: name 'random' is not defined
>>> import random
>>> x = math.sqrt(9) if 2>3 else random.randint(1, 100)

循環

while循環和for循環


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved