国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python基礎教程:基本數據類型之布爾類型(Boolean)

happyhuangjinjin / 3665人閱讀

摘要:另外還有一種數據類型叫做布爾類型。布爾類型布爾類型是計算機中最基本的類型,它是計算機二進制世界的體現,一切都是和。中的布爾類型只有兩種值和。

計算機的本質就是計算,在其內部是01的比特位的變化,對外表現就是數據的變化。那么,計算機都能處理什么數據呢?本質上,數據都是以字節(Byte)存儲的,表現上看,它們就是整數、浮點數和字符串等。Python的基本數據類型也不外乎于此。

整數和浮點數就跟數學中的一樣,而字符串就是各種字符的組合。另外Python還有一種數據類型叫做布爾類型(Boolean)。

布爾類型

布爾類型是計算機中最基本的類型,它是計算機二進制世界的體現,一切都是01。Python中的布爾類型只有兩種值:TrueFalse。(注意:首字母都是大寫,與C++、JavaScript中的小寫有所不同)

布爾類型回答的是是非問題,那么什么情況下是True,什么情況下是False呢? Python里面實現了一個類型對象叫做bool,bool是一個int的子類,內置的TrueFalse就是bool僅有的兩個實例對象。

使用bool我們就可以對對象進行布爾真假判斷:

In [3]: bool(None)
Out[3]: False

In [4]: bool(0)
Out[4]: False

In [5]: bool([])
Out[5]: False

In [6]: bool(())
Out[6]: False

In [7]: bool("")
Out[7]: False

In [8]: bool({})
Out[8]: False

以上是判斷為假的情況,總結一下為假的情況有:

None, False

數值中的0,?0.0,?0j(虛數),?Decimal(0),?Fraction(0, 1)

空字符串("")、空元組(())、空列表([])

空字典({})、空集合(set())

對象默認為True,除非它有bool()方法且返回False或len()方法且返回0.

布爾運算: and, or, not

下面的表列舉了布爾運算的結果,優先級為升序:

運算 表達式 結果 說明
或運算 x or y 如果x為False則取決于y;如果x為True則不考慮y (1)
與運算 x and y 如果x為False則不考慮y;如果x為True則取決于y (2)
非運算 not x 如果x為False則為True,否則為False (2)

說明:
(1)or?是一種“短路運算符”,只有當第一個為False時才去驗證第二個。即:兩個變量只要有一個為True則為True。
(2)and也是種“短路運算符”,只有當第一個為True時才去驗證第二個。即:兩個變量都為True時結果才為True。
(3)not的優先級比非布爾運算符底,所以not a == b解釋為not (a == b),并且a == not b是語法錯誤。

In [24]: 1 == not 2
  File "", line 1
    1 == not 2
           ^
SyntaxError: invalid syntax

In [25]: not 1 == 22
Out[25]: True

上面講到,or, and, not的優先級是依次遞增的,優先級跟小學數學中先乘除后加減但括號里面的更優先是一樣的。
那么小猿們猜猜下面的代碼會輸出什么:

print("" or "b" and "c")

優先級and大于or,所以先計算and
(1)先計算"b" and "c"時,"b"是True,則結果取決于"c",因此返回"c"
(2)再計算"" or "c"""是False,則結果取決于"C",因此返回"c"
(3)最后打印出:c
你算對了嗎?

比較運算

前面提到,布爾值反應的是“是非”,有比較才有是非。Python中有8中比較運算。它們有相同的優先級,比布爾運算的優先級高。比較運算符可以任意的連寫,比如:x < y <=z相當于x < y and y <= z

下面我們用表格來說明這8種不同的比較運算:

運算 含義
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
is 是對象
is not 不是對象
總結

布爾類型(True, False)表示“是非”,是比較運算的結果,是條件判斷的結果,從而決定程序的流程和分支走向。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43751.html

相關文章

  • python基礎教程基本數據類型

    摘要:的基本數據類型也不外乎于此。數值類型整數浮點數和是中為整數和浮點數保留的關鍵字。另外,布爾類型作為一種整數的子類型表示程序中的是非,它的值有且僅有兩個和。 計算機的本質就是計算,在其內部是0和1的比特位的變化,對外表現就是數據的變化。那么,計算機都能處理什么數據呢?本質上,數據都是以字節(Byte)存儲的,表現上看,它們就是整數、浮點數和字符串等。Python的基本數據類型也不外乎于此...

    renweihub 評論0 收藏0
  • Python基礎到入門】Python基礎語法篇——基本數據類型【文末送書】

    摘要:布爾值布爾值和布爾代數的表示完全一致,一個布爾值只有兩種值的數據類型可以通過內置的函數查詢,例如還可以用來判斷和的區別在于不會認為子類是一種父類類型。會認為子類是一種父類類型。基本功能是進行成員關系測試和刪除重復元素。 ...

    Winer 評論0 收藏0
  • 九天學會Java,第一天,變量和數據類型,賦值和輸出

    摘要:現在我們開始說編程特性第一條變量和數據類型,賦值和輸出。從廣為流傳的說起,用建立一個新的工程在目錄建一個文件變量和數據類型,賦值和輸出在中,方法是應用程序的入口方法。變量包含三個知識點,新建變量是字符串類型給變量賦值。 用9天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說?對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一...

    cangck_X 評論0 收藏0
  • 7天學會3門語言,第一天

    摘要:天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 7天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說?對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 網絡上,網友們爭...

    aristark 評論0 收藏0
  • 7天學會3門語言,第一天

    摘要:天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 7天入門三門編程語言,有可能嘛,尤其是對沒有基礎的同學來說?對于想學好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應該的關心的,至少不是作為一個初學者首先關心的。 網絡上,網友們爭...

    RebeccaZhong 評論0 收藏0

發表評論

0條評論

happyhuangjinjin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<