015 Python初学笔记--字符串的格式化

一、format函数的使用(此函数有两种参数及两种使用方法)

1.位置参数(编号必须从0开始)

>>> '{0} love {1}'.format('I','U')   #编号必须从0开始
'I love U'

2.关键字参数

>>> '{a} love {b}'.format(a='I',b='U')
'I love U'

注:位置参数可以和关键字参数搭配使用,但是位置参数必须位于关键字参数之前

>>> '{0} love {b}'.format('I',b='China')
'I love China'

例子:如何使用format显示pi=3.14,及''.format('Pi = ', 3.1415)前面的字符串应该如何填写

>>> '{0}{1:.2f}'.format('pi=',3.1415)
'pi=3.14'

注:上述练习中,冒号表示格式化符号的开始;使用格式化符号时数字自动四舍五入。

二、字符串格式化符号含义

%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%o格式化无符号8进制
%x格式化无符号16进制(小写)
%X格式化无符号16进制(大写)
%f格式化定点数,可指定小数点后的精度(默认精确到小数点后6位)
%e科学记数法格式化定点数(小写)
%E科学计数法格式化定点数(大写)
%g根据大小决定使用%f 或%e
%G根据大小决定使用%f 或%E

使用方法实例:

>>> # %c 格式化字符串及ASCII码
>>> '%c'  %97   #97是c的ASCII码
'a'
>>> '%c%c %c' %(97,98,99) #python支持两种形式的输入参数,一种是元组,一种是字典,对元组来说,若有多个参数,必须用括号括起来,否则会出错
'ab c'

>>> # %s 格式化字符串
>>> '%s' % 5
'5'

>>> # %d 格式化整数
>>> '%d+%d=%d'%(3,4,3+4)
'3+4=7'

>>> # %o 格式化无符号8进制
>>> '%o' % 10
'12'

>>> # %x 格式化无符号16进制(小写)
>>> '%x' % 10
'a'

>>> # %X 格式化无符号16进制(大写)
>>> '%X' % 10
'A'

>>> # %f 格式化定点数,可指定小数点后的精度(默认精确到小数点后6位)
>>> '%f' % 123
'123.000000'
>>> '%.2f' % 123
'123.00'

>>> # %e 科学记数法格式化定点数(小写)
>>> '%e' % 123
'1.230000e+02'

>>> # %E 科学计数法格式化定点数(大写)
>>> '%E' % 123
'1.230000E+02'

>>> # %g 根据大小决定使用%f或%e
>>> '%g' % 123
'123'

>>> # %G 根据大小决定使用%f或%E
>>> '%G' % 12300000000
'1.23E+10'

注:python支持两种形式的输入参数,一种是元组,一种是字典,对元组来说,若有多个参数,必须用括号括起来,否则会出错

三、格式化操作符辅助指令

m.nm是显示的最小总宽度,n是小数点后的位数
-用于左对齐

+

在正数前面显示正号(+)
#在8进制前面显示‘0o’,在16进制前面显示‘0x’或‘0X’
0显示的数字前填充‘0

使用方法实例:

>>> # m.n m是显示最小总宽度,n是小数点后的位数
>>> '%6.2f' % 3.1
'  3.10'
>>> '%.2e' %3
'3.00e+00'

>>> # -用于左对齐
>>> '%-10d' % 5
'5         '

>>> # +在整数前面显示正号
>>> '%+d' % 5
'+5'
>>> '%+d' % -4
'-4'

>>> # #在八进制前面显示‘0o’,在十六进制前面显示'0x'或'0X'
>>> '%#o' % 10       #8进制
'012'
>>> '%#x' % 10       #16进制
'0xa'
>>> '%#X' % 10       #16进制
'0XA'
>>> '%#d' % 10       #10进制
'10'

>>> #0显示的数字前填充0取代空格
>>> '%03d' % 5
'005'
>>> '%03d' % -5
'-05'
>>> '%-03d' % 5
'5  '

四、字符串转义符的含义

\'单引号
\"双引号
\a发出系统响铃声
\b退格符
\n换行符
\t横向制表符(tab)
\v纵向制表符
\r回车符
\f换页符
\o8进制数代表的字符
\x16进制数代表的字符
\0表示一个空格符
\\反斜杠

练习:

1.>>> "{{1}}".format("China", "America")会打印什么内容?

>>> "{{1}}".format("China", "America")
'{1}'

2.编写一个进制转换程序(十进制转换二进制可以用bin()这个内置函数):

q=True
while q:
    num=input('请输入一个十进制的整数(输入Q结束程序):')
    if num !='Q':
        num=int(num)
        print('十进制->十六进制: %d -> %#x') % (num,num)
        print('十进制->八进制: %d -> %#o') % (num,num)
        print('十进制->二进制: %d -> ') % num,bin(num)
    else:
        q=False

演示结果:

请输入一个十进制的整数(输入Q结束程序):10
十进制->十六进制: 10 -> 0xa
十进制->八进制: 10 -> 012
十进制->二进制: 10 ->  0b1010
请输入一个十进制的整数(输入Q结束程序):17
十进制->十六进制: 17 -> 0x11
十进制->八进制: 17 -> 021
十进制->二进制: 17 ->  0b10001

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值