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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 每天學點Python之數值類型 Python中的數值類型包括int、float和complex三種類型。 > 注:以下內容只針對Python3 ### int Python中的int類型是無限精度的,這個特性給編程帶來了很多便利。 ### float Python中的float底層是用c語言中double類型變量實現的,具體的精度與運行的計算機有關。可以通過變量`sys.float_info`查看,如我的計算機上的值: ~~~ >>> print(sys.float_info) sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) ~~~ ### complex Python是支持虛數運算的,虛數的表示法為z=a+bj,其中a和b是float類型的數字。如果要單獨獲取a用z.real,單獨獲取b用z.imag。 ### 混合運算 Python支持不同數值類型之間的運算,所有與complex型數值運算的結果都是complex,int型與float型運算結果為float型。如果需要對數值進行轉型(可以從字符串轉化),可以用int(),float()和complex()函數。int還支持將其他進制的字符串數值轉為十進制: ~~~ >>> int("0213",8) 139 >>> int("0xa231",16) 41521 ~~~ > 注:float()函數還支持nan,+inf,-inf作為參數,分別表示不是一個數字、正無窮和負無窮。 ### 運算符 Python支持一般的加減乘除運算,需要注意的是除法運算返回的結果是float型的,即`2/1=2.0`。如果需要返回的是int型數值,需要使用`//`符號,這個符號相當于先做除法,再做floor()運算。以下再羅列一下特殊的運算符和函數: **conjugate** 這是一個針對虛數的方法,用來求虛數的共軛虛數: ~~~ >>> (1+2j).conjugate() (1-2j) ~~~ **divmod** 這個函數用來返回兩個數的商和余數: ~~~ >>> divmod(7,3) (2, 1) ~~~ **pow** pow是用來求x的y次方的,在Python中還可以用**來實現相同的功能: ~~~ >>> pow(2,3) 8 >>> 2**3 8 ~~~ > 注:在Python中0**0=1,只為了方便編寫程序 **abs** abs用來表示絕對值,但如果用在虛數上,則可以對虛數求模,獲得一個float型的數值: ~~~ >>> abs(3-2j) 3.6055512754639896 ~~~ ### 數值精度 下面介紹Python用于數值精度方面的常用函數: **math.trunc(x)** 保留x的整數部分,忽略小數點后的數。 **round(x[,n])** 對x進行四舍五入,保留n位小數。 **math.floor(x)** 小于等于x的最大整數。 **math.ceil(x)** 大于等于x的最小整數。 > 注:很多人會問trunc和floor的區別,其實對于正數,它們沒什么區別,但對于負數請看: ~~~ >>> math.trunc(-2.9) -2 >>> math.floor(-2.9) -3 ~~~ ### 位移操作 針對int型的操作,沒有什么特殊的,或操作(|)、異或操作(^)、且操作(&)、左移操作(<<)、右移操作(>>)、取反操作(~)。 說到位操作Python中有bin()函數可以將數字轉為二進制。同時可以用int.bit_length()方法來獲取二進制的長度: ~~~ >>> n = 16 >>> n.bit_length() 5 >>> bin(n) '0b10000' ~~~ ### float方法探究 下面羅列一下float中額外的一些方法: **float.as_integer_ratio()** 將一個float用分數表示出來,返回的是一個二元元組。 **float.is_integer()** 判斷一個float型數字是否是整數,返回布爾值。 **十六進制** float與十六進制的轉換是通過float.hex()和float.fromhex(s)實現的,具體看如下代碼: ~~~ >>> float.hex(163.2) '0x1.4666666666666p+7' >>> float.fromhex('0x1.4666666666666p+7') 163.2 ~~~
                  <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>

                              哎呀哎呀视频在线观看