Python中格式化format()方法詳解
Python中格式化輸出字符串使用format()函數, 字符串即類, 可以使用方法;
Python是完全面向對象的語言, 任何東西都是對象;
字符串的參數使用{NUM}進行表示,0, 表示第一個參數,1, 表示第二個參數, 以后順次遞加;
使用":", 指定代表元素需要的操作, 如":.3"小數點三位, ":8"占8個字符空間等;
還可以添加特定的字母, 如:
- 'b' - 二進制. 將數字以2為基數進行輸出.
- 'c' - 字符. 在打印之前將整數轉換成對應的Unicode字符串.
- 'd' - 十進制整數. 將數字以10為基數進行輸出.
- 'o' - 八進制. 將數字以8為基數進行輸出.
- 'x' - 十六進制. 將數字以16為基數進行輸出, 9以上的位數用小寫字母.
- 'e' - 冪符號. 用科學計數法打印數字, 用'e'表示冪.
- 'g' - 一般格式. 將數值以fixed-point格式輸出. 當數值特別大的時候, 用冪形式打印.
- 'n' - 數字. 當值為整數時和'd'相同, 值為浮點數時和'g'相同. 不同的是它會根據區域設置插入數字分隔符.
- '%' - 百分數. 將數值乘以100然后以fixed-point('f')格式打印, 值后面會有一個百分號.
數字(0, 1, ...)即代表format()里面的元素, 所以可以使用"."調用元素的方法;
# -*- coding: utf-8 -*- #==================== #File: abop.py #Author: Wendy #Date: 2013-12-03 #==================== #eclipse pydev, python3.3 age = 25 name = 'Caroline' print('{0} is {1} years old. '.format(name, age)) #輸出參數 print('{0} is a girl. '.format(name)) print('{0:.3} is a decimal. '.format(1/3)) #小數點后三位 print('{0:_^11} is a 11 length. '.format(name)) #使用_補齊空位 print('{first} is as {second}. '.format(first=name, second='Wendy')) #別名替換 print('My name is {0.name}'.format(open('out.txt', 'w'))) #調用方法 print('My name is {0:8}.'.format('Fred')) #指定寬度
# 輸出結果
Caroline is 25 years old. Caroline is a girl. 0.333 is a decimal. _Caroline__ is a 11 length. Caroline is as Wendy. My name is out.txt My name is Fred .