学习python的第11天

一.格式化字符串(格式化输出)

1.print()函数使用以%开头的转换说明符

转换说明符 	解释
%d、%i 	转换为带符号的十进制整数
%o 	转换为带符号的八进制整数
%x、%X 	转换为带符号的十六进制整数
%e 	转化为科学计数法表示的浮点数(e 小写)
%E 	转化为科学计数法表示的浮点数(E 大写)
%f、%F 	转化为十进制浮点数
%g 	智能选择使用 %f 或 %e 格式
%G 	智能选择使用 %F 或 %E 格式
%c 	格式化字符及其 ASCII 码
%r 	使用 repr() 函数将表达式转换为字符串
%s 	使用 str() 函数将表达式转换为字符串

转换说明符只是一个占位符,它会被后面表达式的值所代替,给个实例

    age = 8
    print("C语言中文网已经%d岁了!" % age)
在 print() 函数中,由引号包围的是格式化字符串,它相当于一个字符串模板,可以放置一些转换说明符(占位符)。本例的格式化字符串中包含一个%d说明符,它最终会被后面的 age 变量的值所替代。

中间的%是一个分隔符,它前面是格式化字符串,后面是要输出的表达式。

当然,格式化字符串也可以包含多个转换说明符,这时候也得提供多个表达式,用以替换对应的转换说明符,多个表达式必须使用小括号包围起来,请看下面的例子

    name = "C语言中文网"
    age = 8
    url = "http://c.biancheng.net/"
    print("%s已经%d岁了,它的网址是%s。" % (name, age, url))

2.指定最小输出宽度

当使用表1中的转换说明符时,可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):

 1.  %10d 表示输出的整数宽度至少为 10;
 2.  %20s 表示输出的字符串宽度至少为 20。

请看下列演示

    n = 1234567
    print("n(10):%10d." % n)
    print("n(5):%5d." % n)
    url = "http://c.biancheng.net/python/"
    print("url(35):%35s." % url)
    print("url(20):%20s." % url)

n(10):   1234567.
n(5):1234567.
url(35):     http://c.biancheng.net/python/.
url(20):http://c.biancheng.net/python/.

从运行结果可以发现,对于整数和字符串,当数据的实际宽度小于指定宽度,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。

3.指定对齐方式

标志 	说明
- 	指定左对齐
+ 	表示输出的数字总要带着符号;正数带+,负数带-。
0 	表示宽度不足时补充 0,而不是补充空格。

几点说明

 

对于整数,指定左对齐时,在右边补 0 是没有效果的,因为这样会改变整数的值。
对于小数,以上三个标志可以同时存在。
对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。
​
    n = 123456
    # %09d 表示最小宽度为9,左边补0
    print("n(09):%09d" % n)
    # %+9d 表示最小宽度为9,带上符号
    print("n(+9):%+9d" % n)
    f = 140.5
    # %-+010f 表示最小宽度为10,左对齐,带上符号
    print("f(-+0):%-+010f" % f)
    s = "Hello"
    # %-10s 表示最小宽度为10,左对齐
    print("s(-10):%-10s." % s)

 得

n(09):000123456
n(+9):  +123456
f(-+0):+140.500000
s(-10):Hello     .

4.指定小数精度

    f = 3.141592653
    # 最小宽度为8,小数点后保留3位
    print("%8.3f" % f)
    # 最小宽度为8,小数点后保留3位,左边补0
    print("%08.3f" % f)
    # 最小宽度为8,小数点后保留3位,左边补0,带符号
    print("%+08.3f" % f)

   3.142
0003.142
+003.142

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值