• Python中的print


    Python 3.X的print

    在Python 3.X中,print是一个内置函数,完整的声明形式如下:

    print([object, ...][, sep=' '][, end='
    '][, file=sys.stdout][, flush=False])

    sep

    sep表示打印对象之间的分隔符,默认使用单个空格

    >>>print(1, 2, sep='$')
    1$2

    end

    end表示在打印的字符串末尾添加的字符串,默认是换行符

    file

    任何具有write(String)方法的对象都能成为file的值,默认是sys.stdout,即标准输出,file可以用来在print的时候临时进行重定向

    flush

    表示print是把内容立即输出,还是缓存一段在输出,默认是False,在这种情况下,是立即输出,还是缓存,主要取决于file的值,而如果是True,那么不管file是何种类型,都强制立即输出

    Python 2.X中的print

    在Python 2.X中,print是一个语句(statement):

    >>>print x, y    # print(x, y)  Python 3.X的对应形式
    
    >>>print x, y,   # print(x, y, end='') Python 3.X的形式,不输出结尾换行符
    
    >>>print >>afile, x, y   # print(x, y, file=afile) Python 3.X的形式,重定向到afile

     

    兼容Python 2.X和Python 3.X

    1 使用2to3脚本将Python 2.X的形式转换成Python 3.X,使用3to2的脚本将Python 3.X转换成Python 2.X

    2 import from __future__,在Python 2.X脚本的第一行加入如下代码:

    from __future__ import print_function

    那么,Python 2.X的脚本中也可以使用Python 3.X的print函数,对于__future__,需要注意两点:

    1) 在Python 3.X的脚本中,__future__没有影响

    2) __future__只对当前脚本起作用,没有传递性

    3 在使用Python 2.X的print时,也加入括号,伪装成Python 3.X的调用:

    # Python 2.X 的形式
    # 但是打印出来的结果是tuple
    # 并且tuple中每一个元素都有单引号
    # 因此,虽然能够伪装,但是打印结果和Python 3.X不一样
    >>>print('a', 'b', 'c')    
    ('a', 'b', 'c')
    
    
    # Python 3.X的形式
    >>>print('a', 'b', 'c')
    a, b, c

    Python 2.X中的print语法之所以可以加括号,是因为括号可以加到任何表达式上,加上括号之后,print的参数就是一个tuple了,这也是为什么伪装的print打印结果和Python 3.X不一样。要解决这个问题,可以使用格式化字符串的方法将多个参数格式化为一个,打印形式就统一了:

    # Pyhon 2.X
    # 转化成一个参数的好处,还可以消除上面伪装打印时,元素上的单引号
    # 上面例子中,伪装打印元素上之所以有单引号,是在Python中,顶层对象
    # 使用str函数转换成字符串,而嵌套对象使用repr转换成字符串
    >>>print('%s %s %s' %('a', 'b', 'c'))
    a b c
    
    # Python 3.X
    >>>print('a', 'b', 'c')
    a b c
  • 相关阅读:
    AMD 开源照片级渲染引擎 Radeon ProRender
    删除集群mds
    删除集群mds
    一次旅途她和豆浆结缘,如今拥有70多家加盟店
    小伙居然开网店卖花,整整一年时间他做出了400万元的业绩
    带着800元现金开始创业,居然开出了十几家连锁超市
    北大学霸从小米离职,靠眼镜打开亿万市场
    广西农民靠养猪发家致富,采用新模式既有效益又保护生态
    在母婴产品领域他独领风骚,利润已经突破了1亿
    80后小伙白手起家做照明生意,为他创造了六千万元的业绩
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/9164464.html
Copyright © 2020-2023  润新知