前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 学习入门(8)—— 格式化输出

Python 学习入门(8)—— 格式化输出

作者头像
阳光岛主
发布2019-02-19 10:26:09
5670
发布2019-02-19 10:26:09
举报
文章被收录于专栏:米扑专栏米扑专栏

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后的字符串全部忽略

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年11月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档