<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國際加速解決方案。 廣告
                ### 2.6.3 格式化輸出 很多應用都要求將數據按整齊的格式輸出,用 print 語句能夠安排簡單的格式。例如, 下面的程序畫出一棵簡單的圣誕樹: 【程序 2.4】eg2_4.py ``` print " * " print " **@ " print " *@*** " print " *****@* " print "*********" print " * " print " * " ``` 可見,數據的輸出位置、間隔空白等都是用最直接的手動方式安排的。執行結果如圖 2.3 所 示。 > ① Python 3.x 與 Python 2.x 的一個重要區別是將 print 實現為一個函數,即 print(&lt;表達式&gt;)。 ![](https://box.kancloud.cn/2016-02-22_56cafcdce7cff.png) 圖 2.3 程序 2.4 的執行結果 如果需要設計復雜的輸出格式,僅靠 print 就無能為力了,事實上 Python 提供了更好 的做法——字符串格式化運算。先看個簡單例子:在財會、銀行應用中,輸出金額數據時有 習慣的固定格式,如一元伍角不應顯示成 1.5,而應顯示成¥1.50。而用普通的 print 語 句無法保留末尾的 0: ``` >>> print 1.50 1.5 ``` 為了解決這個問題,我們可以采用 Python 的格式化輸出的功能: ``` >>> x = 1.5 >>> print "The amount is ¥%0.2f" % (x) The amount is ¥1.50 ``` 這里用到了 Python 的字符串格式化運算符%。 字符串格式化運算%的一般用法如下: ``` <模板字符串> % (<數據 1>, ..., <數據 n>) ``` 這個運算的結果是一個字符串,該字符串是按照模板字符串的樣子構造的。模板字符串中一 般會留有一些“空位”,需要用實際數據填入這些空位。顯然,空位的個數和實際數據的個 數必須對應一致。總之,向模板字符串的空位中填入了實際數據后,所得字符串就是格式化 運算的結果。 每個“空位”實際上是一個格式定義符,用于描述對填入數據的格式化處理。如上面的 例子中,模板字符串"The amount is ¥%0.2f"包含一個空位,即格式定義符%0.2f。 數據 x 的值將按照所定義的格式填充到這個空位中。具體是怎樣的格式呢? 格式定義符的一般形式是: ``` %<寬度>.<精度><類型字符> ``` 模板字符串中出現的格式定義符以%開頭,表示一個空位,注意不要與模板字符串后面的格式化運算符%混淆。格式定義符以類型字符結尾,表示向該空位填入的數據將格式化為特定數據類型,常用的類型字符有十進制整數 d、浮點數 f、字符串 s 等。 格式定義符的中間部分包括寬度、小數點和精度,其中寬度表示“空位”的預留空間寬度(以字符計),精度用于浮點數格式,表示小數點后保留幾位數字。如果實際數據的寬度 超出空位的預留寬度,則空位自動擴張至所需寬度;如果實際數據的寬度小于預留寬度,則 按預留寬度輸出(這時會多出一些空白)。若省略寬度或指定寬度為 0,則表示根據實際數 據的寬度分配空間。 匯總以上說明,即可明白格式定義符%0.2f 的意思是:數據按浮點數類型格式化,根 據數據的實際寬度分配空間,保留兩位小數。 另外補充兩點:第一,當預留寬度大于數據的實際寬度時,該數據在預留空間內默認是 右對齊的,但可以通過在寬度前加上負號改成左對齊,如%-8.2f。第二,浮點數輸出時默 認的精度是保留 6 位小數,實際數據的小數部分不足 6 位時自動補 0,超出 6 位時自動進行 舍入;如果指定過高的精度,可能導致無法精確表示。 建議讀者試用各種格式定義符,以便熟練掌握格式化輸出的功能。下面是一些例子: ``` >>> "Formatted as an int: %d" % (3.14159265) 'Formatted as an int: 3' >>> "Formatted as a float: %f" % (3.14159265) 'Formatted as a float: 3.141593' >>> "Formatted as a float: %.4f" % (3.14159265) 'Formatted as a float: 3.1416' >>> "Formatted as a float %.20f" % (3.14159265) 'Formatted as a float 3.14159265000000020862' >>> "Formatted as a string: %s" % (3.14159265) 'Formatted as a string: 3.14159265' >>> "Formatted as a string: %20s" % (3.14159265) 'Formatted as a string: 3.14159265' >>> "Formatted as a string: %-20s" % (3.14159265) 'Formatted as a string: 3.14159265 ' >>> "%s has won $%d!" % ("Mr. Smith",10000) 'Mr. Smith has won $10000!' >>> "%s gives %s $%d." % ("Tom","Tim",100) 'Tom gives Tim $100.' ```
                  <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>

                              哎呀哎呀视频在线观看