今日首先在完成上次所学内容的相关习题与拓展内容。
format()函数,基本语法是通过{}和:代替以前所用的%。
实例:
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
也可以设置相关参数:
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
关于format今日自学的代码片段(注释内置)
s = "python"
print("{0:10}".format(s))
#s的十位
print("{0:/^10}".format(s))
#s的十位,居中,以符号/来填充
print("{0:n<20}".format(s))
#s的二十位,居左,以字符n来填充
print("{0:p>20}".format(s))
#s的二十位,居右,以字符p来填充
print("{0:-^20,}".format(1234567890))
#1234567890的20位,居中,以符号-来填充,存在千位分隔符
print("{0:-^20}".format(1234567890))
#1234567890的20位,居中,以符号-来填充,无千位分隔符
print("{0:-^20,}".format(12345.67890))
#12345.67890的20位,居中,以符号-来填充,存在千位分隔符(小数部分无分隔符)
print("{0:.4}".format("PYTHON"))
#字符串PYTHON的四位
print("{0:.2f}".format(12345.67890))
#保留两位小数
print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))
#b: 输出整数的二进制方式;#c: 输出整数对应的Unicode字符;
#d: 输出整数的十进制方式;#o: 输出整数的八进制方式;
#x: 输出整数的小写十六进制方式;#X: 输出整数的大写十六进制方式;
print("{0:e},{0:E},{0:f},{0:%}".format(3140000))
#e: 输出浮点数对应的小写字母 e 的指数形式;
#E: 输出浮点数对应的大写字母 E 的指数形式;
#f: 输出浮点数的标准浮点形式;
#%: 输出浮点数的百分形式。
print("{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3140000))
#.2 与上不同的是前小数点后位数与后位数都被限定为两位
输出内容如下
python
//python//
pythonnnnnnnnnnnnnnn
pppppppppppppppython
---1,234,567,890----
-----1234567890-----
----12,345.6789-----
PYTH
12345.68
110101001,Ʃ,425,651,1a9,1A9
3.140000e+06,3.140000E+06,3140000.000000,314000000.000000%
3.14e+06,3.14E+06,3140000.00,314000000.00%
format与c中输出的%相比较略有不同,个人倾向c的方式。