1 str自帶函數格式化輸出 rjust() ljust() center() zfill()
zfill是補齊零
介紹:
rjust(...)
S.rjust(width[, fillchar]) -> string
給字元串格式化輸出,對字元串本身不做處理,隻是傳回一個格式化過的字元串,可以指定字元串寬度,并且指定填充的字元,預設填充空格!
作用: 對齊輸出
舉例:
<code>In [</code><code>26</code><code>]: s1</code><code>=</code><code>"1"</code>
<code>In [</code><code>27</code><code>]: s2</code><code>=</code><code>"1234"</code>
<code>In [</code><code>28</code><code>]: s1</code>
<code>Out[</code><code>28</code><code>]: </code><code>'1'</code>
<code>In [</code><code>29</code><code>]: s2</code>
<code>Out[</code><code>29</code><code>]: </code><code>'1234'</code>
<code>In [</code><code>30</code><code>]: </code><code>for</code> <code>i </code><code>in</code> <code>s1,s2:</code>
<code> </code><code>....: </code><code>print</code> <code>i</code>
<code> </code><code>....: </code>
<code>1</code>
<code>1234</code>
<code>#左對齊輸出,不滿長度為4的,預設填充空格</code>
<code>In [</code><code>34</code><code>]: </code><code>for</code> <code>i </code><code>in</code> <code>s1,s2:</code>
<code> </code><code>....: </code><code>print</code> <code>i.rjust(</code><code>4</code><code>)</code>
<code> </code><code>1</code>
#填充其他字元
<code>In [</code><code>35</code><code>]: s1.rjust(</code><code>4</code><code>,</code><code>"*"</code><code>)</code>
<code>Out[</code><code>35</code><code>]: </code><code>'***1'</code>
#補齊0
<code>In [</code><code>38</code><code>]: s1.zfill(</code><code>4</code><code>)</code>
<code>Out[</code><code>38</code><code>]: </code><code>'0001'</code>
等于
<code>In [</code><code>40</code><code>]: s1.rjust(</code><code>4</code><code>,</code><code>'0'</code><code>)</code>
<code>Out[</code><code>40</code><code>]: </code><code>'0001'</code>
2 浮點型指定寬度輸出
<code>In [</code><code>36</code><code>]: </code><code>1.0</code><code>/</code><code>3</code>
<code>Out[</code><code>36</code><code>]: </code><code>0.33333333333333331</code>
<code>In [</code><code>37</code><code>]: </code><code>"%.3f"</code> <code>%</code> <code>(</code><code>1.0</code><code>/</code><code>3</code><code>)</code>
<code>Out[</code><code>37</code><code>]: </code><code>'0.333'</code>
3 format函數格式化化輸出,格式有點像C語言,替換變量
也是str自帶函數,可以多用多用
它通過{}和:來代替%。
通過位置
<code>In [</code><code>48</code><code>]: </code><code>print</code> <code>'{0} is a {1}'</code><code>.</code><code>format</code><code>(</code><code>'cat'</code><code>,</code><code>'animal'</code><code>)</code>
<code>cat </code><code>is</code> <code>a animal</code>
<code>In [</code><code>49</code><code>]: </code><code>print</code> <code>'{1} is a {0}'</code><code>.</code><code>format</code><code>(</code><code>'cat'</code><code>,</code><code>'animal'</code><code>) </code>
<code>animal </code><code>is</code> <code>a cat</code>
解釋:{}的内容,會被format()中的參數代替,可以在'{}'裡填寫上數字來指定format()中的位置,但如果'{}'裡面是key參數其中的内容會被format()中的value值代替
通過關鍵字參數
<code>In [</code><code>50</code><code>]: </code><code>print</code> <code>'{name} is a {age}'</code><code>.</code><code>format</code><code>(name</code><code>=</code><code>'andy'</code><code>, age</code><code>=</code><code>20</code><code>) </code>
<code>andy </code><code>is</code> <code>a </code><code>20</code>
通過下标
<code>In [</code><code>56</code><code>]: l </code><code>=</code> <code>[</code><code>'andy'</code><code>, </code><code>'good'</code><code>]</code>
<code>In [</code><code>60</code><code>]: </code><code>'{0[0]} {0[1]} {0[0]}'</code><code>.</code><code>format</code><code>(l) </code>
<code>Out[</code><code>60</code><code>]: </code><code>'andy good andy'</code>
格式限定符
它有着豐富的的“格式限定符”(文法是{}中帶:号),比如:
填充與對齊
填充常跟對齊一起使用
^、<、>分别是居中、左對齊、右對齊,後面帶寬度
:号後面帶填充的字元,隻能是一個字元,不指定的話預設是用空格填充
比如
<code>In [</code><code>15</code><code>]: </code><code>'{:>8}'</code><code>.</code><code>format</code><code>(</code><code>'189'</code><code>)</code>
<code>Out[</code><code>15</code><code>]: </code><code>' 189'</code>
<code>In [</code><code>16</code><code>]: </code><code>'{:0>8}'</code><code>.</code><code>format</code><code>(</code><code>'189'</code><code>)</code>
<code>Out[</code><code>16</code><code>]: </code><code>'00000189'</code>
<code>In [</code><code>17</code><code>]: </code><code>'{:a>8}'</code><code>.</code><code>format</code><code>(</code><code>'189'</code><code>)</code>
<code>Out[</code><code>17</code><code>]: </code><code>'aaaaa189'</code>
精度與類型f
精度常跟類型f一起使用
<code>In [</code><code>44</code><code>]: </code><code>'{:.2f}'</code><code>.</code><code>format</code><code>(</code><code>321.33345</code><code>)</code>
<code>Out[</code><code>44</code><code>]: </code><code>'321.33'</code>
其中.2表示長度為2的精度,f表示float類型。
其他類型
主要就是進制了,b、d、o、x分别是二進制、十進制、八進制、十六進制。
<code>In [</code><code>54</code><code>]: </code><code>'{:b}'</code><code>.</code><code>format</code><code>(</code><code>17</code><code>)</code>
<code>Out[</code><code>54</code><code>]: </code><code>'10001'</code>
<code>In [</code><code>55</code><code>]: </code><code>'{:d}'</code><code>.</code><code>format</code><code>(</code><code>17</code><code>)</code>
<code>Out[</code><code>55</code><code>]: </code><code>'17'</code>
<code>In [</code><code>56</code><code>]: </code><code>'{:o}'</code><code>.</code><code>format</code><code>(</code><code>17</code><code>)</code>
<code>Out[</code><code>56</code><code>]: </code><code>'21'</code>
<code>In [</code><code>57</code><code>]: </code><code>'{:x}'</code><code>.</code><code>format</code><code>(</code><code>17</code><code>)</code>
<code>Out[</code><code>57</code><code>]: </code><code>'11'</code>
用,号還能用來做金額的千位分隔符。
<code>In [</code><code>47</code><code>]: </code><code>'{:,}'</code><code>.</code><code>format</code><code>(</code><code>1234567890</code><code>)</code>
<code>Out[</code><code>47</code><code>]: </code><code>'1,234,567,890'</code>
<code></code>
本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1770594如需轉載請自行聯系原作者
cuizhiliang