格式化输出
(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] ] }
注意,格式中用 [] 括起来的参数都是可选参数,即可以使用,也可以不使用。各个参数的含义如下:
| align | 含义 |
|---|---|
| < | 数据左对齐。 |
| > | 数据右对齐。 |
| = | 数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效。 |
| ^ | 数据居中,此选项需和 width 参数一起使用。 |
| sign参数 | 含义 |
|---|---|
| + | 正数前加正号,负数前加负号。 |
| - | 正数前不加正号,负数前加负号。 |
| 空格 | 正数前加空格,负数前加负号。 |
| # | 对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀。 |
| 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中不用写
原文:https://www.cnblogs.com/cc-world/p/14245055.html