日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

python中if的基礎(chǔ)用法(if?else和if?not)_python

作者:福永~ ? 更新時間: 2022-11-07 編程語言

前言

python 中 if 的用法(if else, if not, elif)

if語句實際上是:if True: …執(zhí)行后面的語句

python 中的 if 有下面幾種常見用法:

  • if … else…
  • if …elif…else…
  • if not …
  • if … not …

1.if … else …

實際上,還可以用用下面這種方式,使代碼更精簡

賦值也是可以的:

2. if … elif … else…

elif 是多條件判斷語句,比如:

當(dāng)然,當(dāng)條件很多時,可以有多個elif,比如上面這個簡單的例子可以再增加幾個條件

3.if not …

i在講 if not 之前,得先弄清楚 not 在python中的意思:

not 是一個邏輯判斷詞

當(dāng) not 與變量連用的時候:

所以,在python中,None, False, 空字符串 ‘’ , 0, 空列表[], 空字典{}, 空元組() 都相當(dāng)于False。

要注意的是,雖然”0“是 False,但是 ”[0]" 是True ,因為只有列表為False,字典也是如此,另外有空格的字符串 ’ ’ 也不算空字符串。

仔細的同學(xué)可能看到上面元組(0)并不是True,那是因為在寫元組tupple時,如果只有一個元素,需要在元素后面加上逗號,比如:(0,),指定為元組類型,如果不加逗號,python會把它當(dāng)成整型,整數(shù) 0 為False,所以(0)也為False。

弄清楚not之后,加上 if 就很簡單了,如果if not 后面的語句是False,則執(zhí)行冒號后面的語句,否則執(zhí)行else(如果有else的話)。

注意:有時候if not 的語句很長,又夾帶is、and、or,容易理解錯誤,比如:

if not x is a:

應(yīng)該理解為if not (x is a) ,而不是if (not x) is a

if not x or a =b:

應(yīng)該理解為if (not x) or (ab),而不是 if not (x or ab),當(dāng)然這里a==b可以換成其他條件。or 換成and也是一樣,也就是說,(and、or)和is不一樣,要仔細甄別。

if not語句是非常常用的語句,尤其在數(shù)據(jù)結(jié)構(gòu)中。由于python語言的簡潔,if not 和and. or. is.連用可以減少大量的代碼空間。

4. if … not…

這種情況一般 not 與 is 連用,is not 直接按字面理解即可。理解為 if x (is not) None,而不是if x is (not None)。

補充:

在實際寫代碼的時候,經(jīng)常遇到要判斷None的情況,可能會遇見下面這些寫法:

if x is None:…#最好使用這種寫法
if not x:…
if not x is None: …

而在判斷None的過程,常常伴隨著 [] 的判斷,這時我們使用if not x是有問題的:

因為上面講過,not是邏輯判斷,而列表、空字典等的邏輯和None是一樣的,都是False,if not 是沒辦法區(qū)分的,輸出的都是True。所以要確定變量=[]時對if not 的判斷沒有影響,否則會報錯。

使用 if not x is None也是有問題的,這種寫法容易誤解為if (not x) is None,而實際上應(yīng)該理解為 not (a is None)

a is None 返回False ,所以not(False)返回True,而實際上[] 并不是None,應(yīng)該返回False

所以最好直接使用if x is None,簡介明了。

a is b比較的a 和 b的id,只有a,b的id相同才會輸出True:

上面if … not …中的 is not其實是一樣的道理

補充:if條件語句綜合練習(xí)

判斷閏年:

用戶輸入年份year, 判斷是否為閏年?

我們知道:能被4整除但不能被100整除的 或者 能被400整除 那么就是閏年

year = int(input('輸入年份:'))
if year %4 ==0 and year %100 != 0:
    print('%d是閏年' %year)
elif year %400 ==0:
    print('%d是閏年'%year)
else:
    print('%d不是閏年' %year)

結(jié)果:

總結(jié)

原文鏈接:https://blog.csdn.net/F_Y202172/article/details/123997181

欄目分類
最近更新