Python中格式化format()方法詳解


Python中格式化format()方法詳解

Python中格式化輸出字符串使用format()函數, 字符串即類, 可以使用方法;

Python是完全面向對象的語言, 任何東西都是對象;

字符串的參數使用{NUM}進行表示,0, 表示第一個參數,1, 表示第二個參數, 以后順次遞加;

使用":", 指定代表元素需要的操作, 如":.3"小數點三位, ":8"占8個字符空間等;

還可以添加特定的字母, 如:

  1. 'b' - 二進制. 將數字以2為基數進行輸出.
  2. 'c' - 字符. 在打印之前將整數轉換成對應的Unicode字符串.
  3. 'd' - 十進制整數. 將數字以10為基數進行輸出.
  4. 'o' - 八進制. 將數字以8為基數進行輸出.
  5. 'x' - 十六進制. 將數字以16為基數進行輸出, 9以上的位數用小寫字母.
  6. 'e' - 冪符號. 用科學計數法打印數字, 用'e'表示冪.
  7. 'g' - 一般格式. 將數值以fixed-point格式輸出. 當數值特別大的時候, 用冪形式打印.
  8. 'n' - 數字. 當值為整數時和'd'相同, 值為浮點數時和'g'相同. 不同的是它會根據區域設置插入數字分隔符.
  9. '%' - 百分數. 將數值乘以100然后以fixed-point('f')格式打印, 值后面會有一個百分號.

數字(0, 1, ...)即代表format()里面的元素, 所以可以使用"."調用元素的方法;

參見網址: http://www.python.org/dev/peps/pep-3101/

代碼如下:

 1 # -*- coding: utf-8 -*- 
 2   
 3 age = 25
 4 name = 'Caroline'
 5   
 6 print('{0} is {1} years old. '.format(name, age)) #輸出參數 
 7 print('{0} is a girl. '.format(name)) 
 8 print('{0:.3} is a decimal. '.format(1/3)) #小數點后三位 
 9 print('{0:_^11} is a 11 length. '.format(name)) #使用_補齊空位 
10 print('{first} is as {second}. '.format(first=name, second='Wendy')) #別名替換 
11 print('My name is {0.name}'.format(open('out.txt', 'w'))) #調用方法 
12 print('My name is {0:8}.'.format('Fred')) #指定寬度

 

輸出:

1 Caroline is 25 years old.  
2 Caroline is a girl.  
3 0.333 is a decimal.  
4 _Caroline__ is a 11 length.  
5 Caroline is as Wendy.  
6 My name is out.txt 
7 My name is Fred  .

 

原文鏈接:http://blog.csdn.net/caroline_wendy/article/details/17111451


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM