zoukankan      html  css  js  c++  java
  • python 的print 用法

    print(x,y)

    等价于

    import sys

    sys.stdout.write(str(x) + ' ' +str(y) + ' ')

    从语法上讲,调用python3.0 的print 函数有如下的形式:

    print([object,...][,seq=' '][,end=' '][,file=sys.stdout])

    seq  是在每个对象的文本之间插入一个字符串,如果没有桩底的话,它默认是一个单个空格,传递一个空字符串将会一直分隔符

    end 是添加在打印文本末尾的一个字符串,如果灭有传递的话,它默认的是一个 换行字符。传递一个控制符串将会避免在打印的文本的末尾移动到下一个输入行-----下一个print 将会保持添加到当前输出行的末尾。

    file 指定了文本将要发送到的文件、标准流或者其他类似文件的对象;如果没有传递的话,它默认的是sys.stdout。带有一个类似文件的write(string)方法的任何对象都可以传递,但真正的文件应该已经为了输出而打开。

    例子:

    import sys 
    x = 'spam'
    y = '99'
    z = ['eggs']
    print('first')
    print(x,y,z)
    
    print('second sep')
    print(x,y,z,sep='....')
    print('third end')
    print(x,y,z,end='
    ');print(x,y,z)
    print('foured end','')
    print(x,y,z,end=',');print(x,y,z)
    print('fived file')
    print(x,y,z,sep='...',file=open('data.txt','w'))
    print(open('data.txt').read())

    结果

    first
    spam 99 ['eggs']
    second sep
    spam....99....['eggs']
    third end
    spam 99 ['eggs']
    spam 99 ['eggs']
    foured end 
    spam 99 ['eggs'],spam 99 ['eggs']
    fived file
    spam...99...['eggs']

    重定向输出流

    sys.stdout = open('log.txt','a')
    print(x,y,z)

    举例

    import sys
    temp = sys.stdout
    sys.stdout = open('log.txt','a')
    print('spam')
    print(1,2,3)
    sys.stdout.close()
    sys.stdout = temp
    
    print('back here')
    print(open('log.txt').read())

    输出:

    back here
    spam
    1 2 3
  • 相关阅读:
    codevs 1069关押罪犯
    codevs 1497取余运算
    codevs 3324 新斯诺克
    codevs 3286 火柴排队
    继续畅通工程
    还是畅通工程
    畅通工程(并查集找根节点)
    Eddy's picture(最小生成树)
    Constructing Roads(最小生成树)
    Codeforces Round #383 (Div. 2)C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/sxwen/p/8024500.html
Copyright © 2011-2022 走看看