最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中True(真)和False(假)判斷詳解

 更新時間:2022年07月04日 11:03:23   作者:廈門在乎科技  
眾所周知True和False是一個布爾變量可取的值,下面這篇文章主要給大家介紹了關于Python中True(真)和False(假)判斷的相關資料,本文通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

Python中的 True和 False總是讓人困惑,一不小心就會用錯,本文總結了三個易錯點,分別是邏輯取反、if條件式和pandas.DataFrame.loc切片中的條件式。

1.True和False的邏輯取反

在對True和False進行邏輯取反時,不使用~,而要使用not。

因為在Python中,not才是邏輯取反,而~是按位取反。True和False對應的數值是1和0,~True就相當于對1按位取反,結果是-2,not True的結果才是False。

print(True)
print(~True)
print(not True)

結果是:

True
-2
False

類似的,~False的結果是1,not False 的結果才是True

print(False)
print(~False)
print(not False)

結果是:

False
-1
True

注:Python中 ~ 按位取反是按照數的補碼取反,即:

1 => 補碼00000001 => ~按位取反 => 補碼11111110 => 2

雙重否定的結果是這樣的

print(not not True)
print(~~True)
print(not ~True)
print(~(not True))

結果為:

True
1
False
-1

對False的雙重否定

print(not not False)
print(~~False)
print(not ~False)
print(~(not False))

結果為:

False
0
False
-2

2.if條件語句中的True和False

Python語言中,if后任何非0和非空(null)值為True,0或者null為False。這點和其他語言不相同,使用多種編程語言時很容易混淆。所以即使判斷條件是一個負數,也是按照True處理,不會執(zhí)行else分支。來看例子:

if (-2):
    print('a')
else:
    print('b')

結果為:a

如果使用了~對True或False取反,則得不到想要的結果:

if (~True): # ~True == -2
    print('a')
else:
    print('b')

結果為:a

只有用not來取反,才能達到邏輯取反的效果:

if not True:
    print('a')
else:
    print('b')

結果為:b

3.pandas.DataFrame.loc 中的否定

pandas.DataFrame.loc 官方文檔中是這么說的
Access a group of rows and columns by label(s) or a boolean array.
可以使用布爾列表作為輸入,包括使用一個條件式來返回一個布爾列表,例:

首先創(chuàng)建一個DataFrame

import pandas as pd
 
df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
    index=['cobra', 'viper', 'sidewinder'],
    columns=['max_speed', 'shield'])
 
df

使用條件式來篩選出shield大于6的數據

df.loc[df['shield'] > 6]

?篩選出shield域小于等于6的數據,可以

df.loc[df['shield'] <= 6]

也可以用

~ df.loc[~(df['shield'] > 6)]

另一個例子,篩選出index中不包含er兩個字母的數據

df.loc[~df.index.str.contains('er')]

需要注意的是,在這里使用df.index.str.contains('er')作為條件篩選時,返回的是pd.Series。

而在pd.Series中, ~操作符重載了,它對布爾類型數據和對數值類型數據的處理分別是邏輯取反和按位取反。

df.index.str.contains('er')

的結果是:

array([False, True, True])

對布爾類型的pd.Series使用~取反,是邏輯取反

~pd.Series([False, True, False])

結果為

True
False
True
dtype: bool

而如果對數值型的pd.Series使用~取反,則是按位取反

~pd.Series([1,2,3])

結果為

-2
-3
-4
dtype: int64

總結

到此這篇關于Python中True(真)和False(假)判斷的文章就介紹到這了,更多相關Python True和False詳解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python列表:開始、結束、步長值實例

    python列表:開始、結束、步長值實例

    這篇文章主要介紹了python列表:開始、結束、步長值實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • centos系統(tǒng)升級python 2.7.3

    centos系統(tǒng)升級python 2.7.3

    CentOS上安裝的python版本是2.6,不能滿足我運行軟件的要求,所以對python進行升級。Python的最新版本已經是3.3,但是Python3的兼容性可能還有一定的問題,所以還是升級到2.7較為保險。
    2014-07-07
  • Python編程判斷這天是這一年第幾天的方法示例

    Python編程判斷這天是這一年第幾天的方法示例

    這篇文章主要介紹了Python編程判斷這天是這一年第幾天的方法,涉及Python針對日期時間的轉換與運算相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • Keras使用ImageNet上預訓練的模型方式

    Keras使用ImageNet上預訓練的模型方式

    這篇文章主要介紹了Keras使用ImageNet上預訓練的模型方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 教你用python將數據寫入Excel文件中

    教你用python將數據寫入Excel文件中

    Python作為一種腳本語言相較于shell具有更強大的文件處理能力,下面這篇文章主要給大家介紹了關于如何用python將數據寫入Excel文件中的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • python列表排序用?sort()和sorted()的區(qū)別

    python列表排序用?sort()和sorted()的區(qū)別

    這篇文章主要介紹了python列表排序用?sort()和sorted()的區(qū)別,主要比較?Python?中用于列表排序的兩種函數?sort()?和?sorted(),選擇合適的排序函數,下文詳細內容需要的小伙伴可以參考一下
    2022-03-03
  • python PyGame五子棋小游戲

    python PyGame五子棋小游戲

    大家好,本篇文章主要講的是python PyGame五子棋小游戲,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 詳解Python中的數據精度問題

    詳解Python中的數據精度問題

    這篇文章主要為大家詳細介紹了Python中常常遇到的一些數據精度問題以及它們的解決方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-10-10
  • Python?第三方庫?openpyxl?的安裝過程

    Python?第三方庫?openpyxl?的安裝過程

    這篇文章主要介紹了Python?高效辦公第三方庫?openpyxl?的安裝,本文介紹了什么是庫及庫的分類,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Python中集合創(chuàng)建與使用詳解

    Python中集合創(chuàng)建與使用詳解

    集合是無序的,無序也就沒有索引,不能進行索引相關的操作,下面這篇文章主要給大家介紹了關于Python中集合創(chuàng)建與使用,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-08-08

最新評論

成都市| 三门县| 高陵县| 蓬安县| 葫芦岛市| 稻城县| 平阴县| 泾阳县| 左云县| 建瓯市| 邹平县| 鹤峰县| 手游| 和林格尔县| 义马市| 衡东县| 攀枝花市| 岚皋县| 甘德县| 界首市| 大石桥市| 来安县| 建湖县| 中阳县| 历史| 若羌县| 甘泉县| 淮南市| 永和县| 敖汉旗| 红原县| 滕州市| 富阳市| 大姚县| 聊城市| 赤城县| 宜宾市| 大庆市| 甘德县| 诏安县| 宁强县|