Python中print和input调用了Python中底层的什么方法

Posted LeonWS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()没有这个功能。

以上是关于Python中print和input调用了Python中底层的什么方法的主要内容,如果未能解决你的问题,请参考以下文章

Python(56)_函数进阶

Python编程之input()输入

如何使用用户输入在 Python 中调用函数? [复制]

python -input

2-4

初识Python