python中print和input调用了python底层的什么方法
在python中,当我们使用print(“内容”)方法的时候,其实我们调用的是sys.stdout.write(“内容”+’\n’)import sysprint("hello python")sys.stdout.write('hello ')print("python")结果如下:hello pythonhello python...
·
在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
更多推荐
已为社区贡献3条内容
所有评论(0)