print 的一些使用

Print使用

Python中的print使用是一个非常常用的打印符了,看似非常的简单,但是还是有一些地方需要我们进行注意的,

print ( *objectssep=' 'end='\n'file=sys.stdoutflush=False )


print 的对象时一个文本留对象文件,必须给出一个关键字包含文件或字符流,注意所有的非关键字的参数都会被转化为字符串格式进行流输出,而且在最后加上一个换行符。

file参数必须是一个带有write(string)方法的一个对象,如果没有显示的指定或为None, print 将会默认的使用sys.stdout的标准方式进行读写,而且print只能由于字符串的格式的输出,并不能用于二进制文件的输出,如果需要输出二进制文件,需要使用file.write().

输出是否进行缓存决定于文件,但是如果flush关键字被置位true 的话,将被强制为缓存输出。

注:flush 关键字是在python3.3中新加入的特性。


格式化输出

1、常见格式化输出

    print ("i'm %d years old . i like %s"%(12,"banana"))

  ==> i'm 12 years old, i like banana

 2、通过字典来进行传递

可以使用字典的方式来进行需要的数据值得填充:

 注意:

  如果在%(ages)后面还有一个格式化的标识符,如果缺少该标识符会出现 unsupported format character 'y' ,格式符标识 无法识别的错误。


格式符

格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个 类型码 ,用以控制显示的类型,如下:
%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    单个字符
%b    二进制整数
%d    十进制整数
%i    十进制整数
%o    八进制整数
%x    十六进制整数
%e    指数 (基底写为e)
%E    指数 (基底写为E)
%f    浮点数
%F    浮点数,与上相同
%g    指数(e)或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度)
 
%%    字符"%"
 
可以用如下的方式,对格式进行进一步的控制:
%[(name)][flags][width].[precision]typecode
(name) 命名
flags 可以有+,-,' '或0。+表示 右对齐 。-表示 左对齐 。' '为一个空格,表示 在正数的左侧填充一个空格 ,从而与负数对齐。0表示 使用0填充
width 表示显示宽度
precision 表示小数点后精度
 
比如:
print ( " %+10x " % 10 )
print ( " %04d " % 5 )
print ( " %6.3f " % 2.3)
 
上面的width, precision为两个整数。我们可以利用 * ,来动态代入这两个量。比如:
print ( " %.*f " % (4, 1.2))
Python实际上用4来替换*。所以实际的模板为"%.4f"。
 

总结

Python中内置的 % 操作符可用于格式化字符串操作,控制字符串的呈现格式。熟练灵活的使用print可以对Python的输出进行随心所欲的控制,完成需要的输出。

最后注意:

print 在python2.7中是不需添加括号的,即print a 即可输出a的值,但是在python3.3中需要添加括号。

关于这一点,python3.X本来就表示不向下进行兼容,其次对print 修改为print()函数式的形式,将极大的增加用户对于输出的自由性,如同上面提到的,我们可以在有特殊需求的时候将需要的参数插入print()中完成我们需要的功能,而不是通过print语句加上逻辑语句去实现我们想要得功能。





你可能感兴趣的:(Python)