在python中,当我们使用print(“内容”)方法的时候,其实我们调用的是sys.stdout.write(“内容”+’\n’)

import sys

print("hello python")
sys.stdout.write('hello ')
print("python")

结果如下:

hello python
hello python

不难看出,print中自带换行,而sys.stdout.write()是不带有换行的,需要自己添加换行符


在python中,当我们使用input()方法的时候,其实我们调用的是sys.stdin.readline()

import sys

a = input()
print(a, len(a))
print("===========")
b = sys.stdin.readline()
print(b, len(b))

结果如下

123
123 3
===========
123
123
 4

不难发现,sys.stdin.readline()方法中是带有换行符的


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

import sys

a = input()
print(a, len(a))
print("===========")
b = sys.stdin.readline(3)
print(b, len(b))

结果如下

123
123 3
===========
123
123 3

注意2:如果sys.stdin.readline()定整型参数大于所输入的字符串长度时候,会有如下情况:

import sys

a = input()
print(a, len(a))
print("===========")
b = sys.stdin.readline(10)
print(b, len(b))

结果如下

123
123 3
===========
123
123
 4

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

a = input("请输入:")
print("*"*6)
b = sys.stdin.readline("请输入")

结果如下:

请输入:hello
******
Traceback (most recent call last):
    b = sys.stdin.readline("请输入")
TypeError: 'str' object cannot be interpreted as an integer

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐