11格式化输出

格式化输出

 (1)%格式化

# 参考 http://c.biancheng.net/view/2177.html
# %[(name)[flags][width][.precision]typecode
#
%s:字符串占位符,可接接收str,也可以接受数字 print('my name is %s, my age is %s' % ('egon', 19)) # %d:数字占位符,只能接受数字,十进制,%o,八进制,%x,16进制 print('my name is %s, my age is %d' % ('egon', 19)) # 指定最小输出宽度,当数据的实际宽度小于指定宽度时,会在左侧以空格补齐,默认右对齐 # 当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。 print('n:%10d' % 12) #n: 12 # 指定对齐方式,默认情况下,当实际宽度小于指定宽度时,默认右对齐 # - 指定左对齐 print('n:%-10d' % 12) #n:12 # + 表示输出的数字总要带着符号;正数带+,负数带- print('n:%+10d' % 12) #n: +12 print('n:%+10d' % -12) #n: -12 # 0 表示宽度不足时补充 0,而不是补充空格。 print('n:%010d' % 12) #n: 12 #n:0000000012 print('n:%+-010d' % 12) #n:+12 # %f,转化为十进制浮点数 # %m.nf,m 表示最小宽度,n 表示输出精度,.是必须存在的。 f = 3.141592653 print("%8.3f" % f) # 最小宽度为8,小数点后保留3位 print("%08.3f" % f) # 最小宽度为8,小数点后保留3位,左边补0 print("%+08.3f" % f) # 最小宽度为8,小数点后保留3位,左边补0,带符号

  %r用rper()方法处理对象

  %s用str()方法处理对象

(2)format格式化

抄:http://c.biancheng.net/view/4301.html

 学习 format() 方法的难点,在于搞清楚 str 显示样式的书写格式。在创建显示样式模板时,需要使用{}来指定占位符,其完整的语法格式为:

{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }

注意,格式中用 [] 括起来的参数都是可选参数,即可以使用,也可以不使用。各个参数的含义如下:

    • index:指定:后边设置的格式要作用到 args 中第几个数据,数据的索引值从 0 开始。如果省略此选项,则会根据 args 中数据的先后顺序自动分配。
    • fill:指定空白处填充的字符。注意,当填充字符为逗号(,)且作用于整数或浮点数时,该整数(或浮点数)会以逗号分隔的形式输出,例如(1000000会输出 1,000,000)。
    • align:指定数据的对齐方式,具体的对齐方式如表 1 所示。
      表 1 align 参数及含义
      align含义
      < 数据左对齐。
      > 数据右对齐。
      = 数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效。
      ^ 数据居中,此选项需和 width 参数一起使用。
    • sign:指定有无符号数,此参数的值以及对应的含义如表 2 所示。
      表 2 sign 参数以含义
      sign参数含义
      + 正数前加正号,负数前加负号。
      - 正数前不加正号,负数前加负号。
      空格 正数前加空格,负数前加负号。
      # 对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀。
    • width:指定输出数据时所占的宽度。
    • .precision:指定保留的小数位数。
    • type:指定输出数据的具体类型,如表 3 所示。
      表 3 type 占位符类型及含义
      type类型值含义
      s 对字符串类型格式化。
      d 十进制整数。
      c 将十进制整数自动转换成对应的 Unicode 字符。
      e 或者 E  转换成科学计数法后,再格式化输出。
      g 或 G 自动在 e 和 f(或 E 和 F)中切换。
      b 将十进制数自动转换成二进制表示,再格式化输出。
      o 将十进制数自动转换成八进制表示,再格式化输出。
      x 或者 X 将十进制数自动转换成十六进制表示,再格式化输出。
      f 或者 F 转换为浮点数(默认小数点后保留 6 位),再格式化输出。
      % 显示百分比(默认显示小数点后 6 位)。

例:

# 练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
# ------------ info of Egon -----------
# Name  : Egon
# Age   : 22
# Sex   : male
# Job   : Teacher
# ------------- end -----------------

# 方法一:%
name='cc'
age=12
sex='male'
job='studeng'
print(name,age,sex,job)
print('-'*6,'info of egon','-'*6)
print(('%-6s: %-5s')%('name',name))
print(('%-6s: %-5s')%('age',age))
print(('%-6s: %-5s')%('sex',sex))
print(('%-6s: %-s')%('job',job))

# 方法二:format
s1 = '{:6}: {:>6}'.format('name',name)
s2 = '{:6}: {:>6}'.format('age',age)
s3 = '{:6}: {}'.format('sex',sex)
s4 = '{:6}: {}'.format('job',job)
print(s1)
print(s2)
print(s3)
print(s4)

三、与用户交互 

n = input('please:') #python3中,输入的任何值都转换为字符串类型

n = raw_input('please:') # python2中,raw_input等于python3中的input
n = input('please:') #python2中,用户输入什么类型,就保存成什么类型

 四、文件头

#!/usr/bin/env python      #python文件路径
# -*- coding:utf-8 -*-     #编码方式,python3中不用写

 

posted @ 2021-04-03 17:54  cheng4632  阅读(83)  评论(0编辑  收藏  举报