设为首页 收藏本站
查看: 581|回复: 0

[经验分享] Python 学习入门(8)—— 格式化输出

[复制链接]

尚未签到

发表于 2017-5-1 14:11:06 | 显示全部楼层 |阅读模式
  python中也有类似于c中的printf()的格式输出标记,在python格式化使用的是%运算符,示例如下:


#!/usr/bin/env python
# it-homer in 2013
import sys
reload(sys)
sys.setdefaultencoding("utf-8")

# %s 格式化为字符串
from math import pi
def test_format():
str = "hello %s, http://blog.%s.net"
val = ("it-homer", "ithomer")
print str % val               # hello it-homer, http://blog.ithomer.net
print("%s %s %s" % (1, 2.3, ['one', 'two', 'three']))         # 1 2.3 ['one', 'two', 'three']
print("PI: %.10f" % pi)       # PI: 3.1415926536

# -:左对齐; +:在转换值之前加上正负号;
# “ ”:正数之前保留空格; 0:转换值若位数不够用0填充
print("PI: %010.2f" % pi)     # PI: 0000003.14
print("PI: %010.6f" % pi)     # PI: 003.141593
print("PI: %-10.2f" % pi)     # PI: 3.14
print("PI: %-10.6f" % pi)     # PI: 3.141593

print("PI: %10.2f" % pi)     # PI:       3.14
print("PI: %10.6f" % pi)     # PI:   3.141593
print("PI: %010.2f" % pi)     # PI: 0000003.14
print("PI: % 10.2f" % pi)     # PI:       3.14
print("PI: %+10.2f" % pi)     # PI:      +3.14
print("PI: %-+10.2f" % pi)    # PI: +3.14
print("PI: %+-10.2f" % pi)    # PI: +3.14

# 模板字符串
from string import Template
def test_format2():
s = Template('$x, hello $x')
f = s.substitute(x = 'ithomer')
print(f)              # ithomer, hello ithomer
# 单词字母替换
s = Template("It's ${x}homer blog")
f = s.substitute(x='it')
print(f)              # It's ithomer blog

# 用$$插入一个$符号
s = Template("It's $$ blog $x")
f = s.substitute(x='ithomer')
print(f)              # It's $ blog ithomer

s = Template('A $name go to $blog')
d = {}
d['name'] = 'sunboy'
d['blog'] = 'blog.ithomer.net'
f = s.substitute(d)
print(f)              # A sunboy go to blog.ithomer.net

def test_format3():
num = 20
# 十进制
print("%d" % num)     # 20
print("%u" % num)     # 20
# 八进制
print("%o" % num)     # 24
# 十六进制
print("%x" % num)     # 14
print("%X" % num)     # 14
# 浮点数
print("%f" % num)     # 20.000000
# 科学计数法
print("%e" % num)     # 2.000000e+01
print("%E" % num)     # 2.000000E+01
print("%g" % num)     # 20

def test_format4():
print("'ithomer'")    # 'ithomer'
print("\'ithomer")    # 'ithomer
print("\"ithomer\"")  # "ithomer"
print("\\ithomer\\")  # \ithomer\
print("/ithomer/")    # /ithomer/
print("aa\nbb")       # aa next line bb
print("aa\bbb")       # abb
print("aa\rbb")       # bb
print("aa\tbb")       # aa    bb
print("aa\000bb")     # aabb

if __name__ == "__main__":
test_format()
test_format2()
test_format3()
test_format4()

  Python格式化字符串的替代符以及含义

符 号 说 明
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g根据值的大小决定使用%f活%e
%G作用同%g,根据值的大小决定使用%f活%e
%p用十六进制数格式化变量的地址


Python的转义字符及其含义


符 号 说 明
\' 单引号
\" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符
\v 纵向制表符
\r 回车符
\f 换页符
\o 八进制数代表的字符
\x 十六进制数代表的字符
\000 终止符,\000后的字符串全部忽略


如果在字符串中输出"\",需使用"\\"

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-371696-1-1.html 上篇帖子: Python 学习入门(18)—— 字符串 下篇帖子: python调用java编写的Webservice
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表