zoukankan      html  css  js  c++  java
  • Python中print和input调用了Python中底层的什么方法

    print 

    print() 用 sys.stdout.write() 实现

    import sys
    
    print('hello')
    sys.stdout.write('hello')
    print('new')
    
    
    # 结果:
    # hello
    # hellonew
    

     可以看到两者还是有不同的。 

    sys.stdout.write()结尾没有换行,而print()是自动换行的。另外,write()只接收字符串格式的参数。

    print()能接收多个参数输出,write()只能接收一个参数。

    input

    Python3中的 input() 用 sys.stdin.readline() 实现。

    import sys
    
    a = sys.stdin.readline()
    print(a, len(a))
    
    b = input()
    print(b, len(b))
    
    # 结果:
    # hello
    # hello
    # 6
    # hello
    # hello 5

    readline()会把结尾的换行符也算进去。

    readline()可以给定整型参数,表示获取从当前位置开始的几位内容。当给定值小于0时,一直获取这一行结束。

    import sys
    
    a = sys.stdin.readline(3)
    print(a, len(a))
    
    # 结果:
    # hello
    # hel 3
    

    readline()如果给定了整型参数结果又没有把这一行读完,那下一次readline()会从上一次结束的地方继续读,和读文件是一样的。

    import sys
    
    a = sys.stdin.readline(3)
    print(a, len(a))
    
    b = sys.stdin.readline(3)
    print(b, len(b))
    
    # 结果
    # abcde
    # abc 3
    # de
    # 3

    input()可以接收字符串参数作为输入提示,readline()没有这个功能。

  • 相关阅读:
    CF1386C Joker
    P7486 「StOI2031」彩虹
    CF1516E Baby Ehab Plays with Permutations
    重拾莫比乌斯反演
    联合省选 2020 补题记录
    拉格朗日插值如何插出系数
    NOI Online 2021 补题
    Re:从0开始的多项式生活
    LOJ #6485. LJJ 学二项式定理
    P5591 小猪佩奇学数学
  • 原文地址:https://www.cnblogs.com/Leon27-29/p/12072549.html
Copyright © 2011-2022 走看看