<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 2.2.1 整數類型 int 整數就是沒有小數部分的數值,分為正整數、0 和負整數。Python 語言提供了類型 int 用于表示現實世界中的整數信息,如班級里的人數、人的年齡、乒乓球比賽每方的得分等等。 基本數據類型的值都可通過字面值(literal)的形式表示出來,即以字面形式表現值。 整數類型的字面值表示形式和我們在現實世界中的寫法一樣,例如下列都是合法的整數: ``` 123 -456 0 ``` 注意,整數字面值是不能包含小數點的,即使小數點后面什么都沒有!讀者也許會覺得 這句話很奇怪,因為在數學中從沒見過一個數包含小數點但小數點后面啥也沒有的情形。然 而,在 Python 中確實允許以下形式的字面值: ``` 123. -456. 0. ``` 但它們都不是整數!事實上,以上三個數分別等于 123.0、-456.0 和 0.0,它們屬于后 文即將介紹的浮點數類型。 Python 語言為整數類型提供了通常的數學運算,運算符及其含義如表 2.1 所示: | 運算符 | 含義 | | --- | --- | | + | 加 | | - | 減 | | * | 乘 | | / | 除 | | ** | 乘方 | | % | 取余數 | | abs() | 取絕對值 | 例如: ``` >>> 23 + 45 68 >>> 56 – 12 44 >>> 8 * 2 16 >>> 11 / 3 3 >>> 8 ** 2 64 >>> 18 % 5 3 ``` 表 2.1 整數運算符 ``` >>> abs(-8) 8 ``` 可見,計算機實現的整數運算基本上和我們在數學課上所學的一樣,除了一個例外—— 除法。由于例中的 11/3 是整數類型上的除法,運算結果仍然在整數類型當中,所以 Python 將商的小數部分直接舍棄了(未作四舍五入!),從而結果為 3。在程序中,本來希望得到精 確的除法結果,但因被除數和除數都是整數,導致結果誤差過大甚至出錯,這是初學 Python 編程的人很容易防錯誤的地方。要說明一下,表 2.1 中的 abs()并不是運算符,而是 Python 的內建函數,這里只是為了方便而將它列在了表中。 除了上面這些運算符,Python 還提供了一些運算符與變量賦值結合起來的表示法。例 如,在程序設計中經常用到一個變量遞增的操作:x = x + 1。注意,這個式子在數學中 是不成立的,因為一個數不可能“等于”該數加 1。但在編程語言中這是一個完全合法的賦 值語句,它的含義是:將變量 x 所指向的值加 1,并將計算結果重新賦值給 x。鑒于這個操 作頻繁使用,Python 和某些其他語言提供了一種簡寫形式:x += 1。請看例子: ``` >>> x = 123 >>> x += 1 >>> print x 124 ``` 還有其他一些類似的簡寫形式,參見表 2.2。 | 普通形式 | 簡寫形式 | | --- | --- | | x = x + y | x += y | | x = x - y | x -= y | | x = x * y | x *= y | | x = x / y | x /= y | | x = x % y | x %= y | 表 2.2 賦值與運算結合 int 類型的局限性 在第 1 章中我們說過,計算思維是建立在計算機的能力和限制之上的。現在我們來討論 整數類型的一個限制。 int 類型只是數學中的整數集合 I 在計算機中的表示,而一個事物和該事物的一種表示 之間未必可以劃等號。事實上,類型 int 只表示了 I 的一個子集,I 是無窮集合,而 int 是有窮的。這是為什么呢? 在計算機底層,整數一般都是用特定長度的二進制數表示的。至于具體長度是多少,取 決于 CPU 的設計。目前個人計算機上多采用 32 個二進制位(bit,比特)的長度來表示整數, 故 Python 語言中的 int 類型就是 32 比特長度的整數值。利用一點排列組合知識,容易推 知:一個比特有兩種可能的狀態(0、1),兩個比特有四種可能的狀態(00、01、10、11), 三個比特有八種狀態(000、001、010、011、100、101、110、111),…,32 個比特有 232 種可能的狀態。用這 232 種狀態顯然只能表示 232 個整數,考慮到整數有正負,計算機底層 將這 232 個狀態的一半用于表示非負整數,另一半用于表示負整數,從而類型 int 實際上是 由-231~231-1 之間的所有整數構成的集合①。 我們已經了解,數據是現實世界信息在計算機中的抽象,根據數據值的種類和操作的不 同而劃分成不同數據類型。一般來說在邏輯層次上理解和使用數據類型就夠了,不需要進一 步了解這些抽象在計算機底層的物理表示。然而,如果能對數據類型的底層表示方法有所了解,可以使數據和程序設計更好地建立在機器的能力和限制之上。 > ① 有的語言還支持用 32 比特表示 0~232-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>

                              哎呀哎呀视频在线观看