东城绝神

生命需要保持一种激情,激情能让别人感到你是不可阻挡的时候,就会为你的成功让路!...

python之格式化输出及函数format

python之格式化输出及函数format

一、字符串格式化代码:

格式  描述
%%  百分号标记
%c  字符及其ASCII码
%s  字符串
%d  有符号整数(十进制)
%u  无符号整数(十进制)
%o  无符号整数(八进制)
%x  无符号整数(十六进制)
%X  无符号整数(十六进制大写字符)
%e  浮点数字(科学计数法)
%E  浮点数字(科学计数法,用E代替e)
%f  浮点数字(用小数点符号)
%g  浮点数字(根据值的大小采用%e或%f)
%G  浮点数字(类似于%g)
%p  指针(用十六进制打印值的内存地址)
%n  存储输出字符的数量放进参数列表的下一个变量中

二、格式化输出的两种方式

方式一:格式化操作符%

"%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。

实例一:%s,%d
username=input('your name is:')
password=int(input('your password is:'))
message='我是%s,我的密码%d ' %(username,password)
print(message)
pytharm3.6中执行结果为:
your name is:zhangjunchao
your password is:123456
我是zhangjunchao,我的密码123456 

实例二:%s,%d
Name=input('请输入姓名:')
Age=int(input('请输入年龄:'))
Job=input('你的工作是:')
Hobbie=input('你的爱好:')
msg='''------ info ------
Name:   %s
Age:    %d
Job:    %s
Hobbie: %s
------ end ------  '''  %(Name,Age,Job,Hobbie)
print(msg)
pytharm3.6中执行结果为:
请输入姓名:zhang
请输入年龄:22
你的工作是:IT
你的爱好:girl
------ info ------
Name:   zhang
Age:    22
Job:    IT
Hobbie: girl
------ end ------  
注:''' '''是注释多行。

方式二:通过{}代替传统的%

Python2.6开始,新增了一种格式化字符串的函数str.format(),通过这个函数同样可以对字符串进行格式化处理。在format()函数中,使用“{}”符号来当作格式化操作符

1. 位置参数
[root@salt-master python]# cat format-01.py 
#!/usr/bin/pytho
# -*- conding:utf-8 -*-
print ("{0} is {1} years old".format("Wilber", 28))
print ("{} is {} years old".format("Wilber", 28))
print ("Hi, {0}! {0} is {1} years old".format("Wilber", 28))    #还可以通过在括号里填写数字,修改格式化的顺序
执行结果为:
zhangjunchao is 28 years old
zhangjunchao is 28 years old
Hi, zhangjunchao! zhangjunchao is 28 years old

2. 关键字参数,通过key取变量
[root@salt-master python]# cat format-02.py 
#!/usr/bin/pytho
# -*- conding:utf-8 -*-
print ("{name} is {age} years old".format(name="zhangjunchao", age=28))
执行结果为:
zhangjunchao is 28 years old

3. 下标参数,通过索引实现
person=['zhangjunchao',28]
print ("我是{0[0]}  我已经{0[1]}岁了".format(person))
pytharm3.6执行结果如下:
我是zhangjunchao  我已经28岁了

4. 填充与对其
格式限定符,语法是{}中带:号
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充     
[root@salt-master python]# cat format-01.py 
#!/usr/bin/pytho
# -*- conding:utf-8 -*-
print ('{:>8}'.format('3.14'))
print ('{:<8}'.format('3.14'))
print ('{:^8}'.format('3.14'))
print ('{:0>8}'.format('3.14'))
print ('{:a>8}'.format('3.14'))
执行结果如下:
[root@salt-master python]# python format-01.py 
    3.14
3.14    
  3.14  
00003.14
aaaa3.14

5 浮点数精度
>>> print '{:.4f}'.format(3.1415926)
3.1416
>>> print '{:0>10.4f}'.format(3.1415926)
00003.1416


6 进制
# b、d、o、x分别是二进制、十进制、八进制、十六进制
print '{:b}'.format(11)
print '{:d}'.format(11)
print '{:o}'.format(11)
print '{:x}'.format(11)
print '{:#x}'.format(11)
print '{:#X}'.format(11)

7 千位分隔符
>>> print '{:,}'.format(15700000000)
15,700,000,000
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37814112/article/details/80387290
文章标签: python格式化输出
个人分类: python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭