<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                python中還有一個數據類型是布爾型(bool),只有兩個值,也是內置常量: - `True`:真 - `Flase`: 假 一般用于條件判斷。 ```python >>> True True >>> Flase False >>> type(False) bool >>> type(True) bool ``` 注意首字母要大寫。 ## 布爾類型轉換 任意數據都可以通過函數`bool`轉換成布爾型。 在python中整數`0`,浮點數`0.0`,復數`0.0+0.0j`,空字符串`''`,空列表`[]`,空元組`()`,空集合`set()`,空字典`{}`,`None`的布爾值都是`False`,其他數值都為`True`。 ```python >>> print(bool(0)) False >>> print(bool(0.0)) False >>> print(bool(0.0+0.0j)) False >>> print(bool('')) False >>> print(bool([])) False >>> print(bool(())) False >>> print(bool({})) False >>> print(bool(set())) False >>> print(bool(None)) False >>> print(bool(0.1)) True ``` ## 比較運算符 相同類型的數據可以通過比較運算符進行比較,結果為布爾型。python中支持的比較運算符有: | 運算符 | 描述 | 實例 | | ------ | ------------------------------- | ------------------- | | == | 等于-比較對象是否相等 | print(a==b) # False | | is | 等于-比較對象的內存地址是否相同 | print(a is b) | | != | 不等于 | print(a!=b) # True | | > | 大于 | print(a>b) # False | | < | 小于 | print(a<b) # True | | >= | 大于等于 | print(a>=b) # False | | <= | 小于等于 | print(a<=b) # True | ```python >>> a = 1 >>> b = 2 >>> a == b False >>> a < b True >>> a != b True >>> a <= b True ``` 數字間的比較運算和數學完全一致,字符串的比較是通過unicode。 需要注意的,和面試常被問到的一個問題是,`==`和`is`的區別。 - `==`是比較兩個對象的值是否相等。 - `is`是比較兩個對象的`id()`是否相等。 ```python >>> a = 300 >>> b = 300 >>> a == b True >>> a is b False ``` ## 成員運算符 在python中可以通過成員運算符`in`來檢查一個對象是否是另外一個對象的成員。 | 運算符 | 描述 | 實例 | | ------ | :---------------------------------------------- | ------------------------------------------------ | | in | 如果在指定的序列中找到值返回True,否則False | `L = [1, 2, 3, 4, 5] a = 3 print(a in L) # True` | | not in | 如果在指定的序列中沒有找到值返回True,否則False | `print(a not in L) # False` | 支持成員運算符的基本數據類型有,字符串,列表,元組,集合,字典。 ```python >>> ls = [1,2,3,4] >>> 1 in ls # 檢查列表的元素 True >>> s = ['abcdefg'] >>> 'a' in s # 檢查字符串 True >>> t = (1,2,3) # 檢查元組 >>> 4 in t False >>> d = {'name': 'xinlan', 'age': 18} >>> 'name' in d # 檢查字典的鍵 True >>> st = {1,2,3} >>> 1 in st # 檢查集合 True ``` ## 邏輯運算符 python中支持的邏輯運算符有 | 運算符 | 描述 | 實例 | | ------ | ------------------------------------------------ | --------------------- | | and | 與,如果x為False,x and y返回x的值,否則返回y的值 | print(a and b) # True | | or | 或,如果x為True,x and y返回x的值,否則返回y的值 | print(a or b) # True | | not | 非,如果x為True,返回False,反之,返回True | print(not a) # False | 注意仔細看描述,編程語言里的邏輯運算為了效率計算方式有所不同。 - `and` 邏輯與,兩邊都為真就為真,否則為假。 但注意在python中真正運算時的規則為:如果`x`為`False`那么`x and y`會返回`x`的值,否則返回`y`的值。這樣計算的好處是當`x`為`Flase`直接返回`x`的值,不會去計算`y`,提高效率,在python中這種情況叫`短路`。 ```python >>> True and True True >>> True and Flase Flase >>> 0 and 2**3 # 短路,不會計算2**3 0 ``` - `or` 邏輯或,有一邊為真即為真,全為假即為假。 但注意在python中真正運算時的規則為:如果`x`為`True`那么`x and y`會返回`x`的值,否則返回`y`的值。這樣計算的好處是當`x`為`True`直接返回`x`的值,不會去計算`y`,提高效率,在python中這種情況叫`短路`。 ```python >>> False or False False >>> True or False True >>> 1 or 2**3 # 短路,不會計算2**3 1 ``` - `not` 邏輯非,取反 ```python >>> not False True >>> not True False >>> not 1 False >>> not 0 True ``` ## 布爾型運算 布爾型是整數類型的子類,`True`是真,實際值是`1`,`False`是假,實際值是`0`。布爾型可以直接和數字進行數學計算。 ```python >>> True + 1 2 >>> False - 1 -1 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看