python中input和print的区别_浅析 python中的 print 和 input 的底层区别!!!

近期的项目中 涉及到相关知识 就来总结一下 !

先看源码:

def print(self, *args, sep=' ', end='\n', file=None): #known special case of print

"""print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream."""

#附带翻译哦!

将值打印到溪流或系统中。默认stdout。

可选关键字参数:

文件:类似文件的对象(流);默认为当前的systdout。

sep:在值之间插入字符串,默认空格。

结束:在最后一个值之后附加的字符串,默认换行。

python 源码

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

importsysprint('hello')

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

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

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

input ()

先看源码!

Read a string from standard input. The trailing newline isstripped.

The prompt string,if given, isprinted to standard output without a

trailing newline before reading input.

If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raiseEOFError.

On*nix systems, readline is used ifavailable.

附带 翻译

从标准输入中读取一个字符串 a 。后面的新线被剥掉了。

如果给定的话,提示字符串会被打印到标准输出,而不需要a

在阅读输入之前,跟踪新行。

如果用户点击了EOF(nix:Ctrl-D,Windows:Ctrl-Z+Return),就会产生EOFError。

在nix系统上,如果可用,则使用readline。

input 用 sys.stdin.readline() 实现

importsys

a=sys.stdin.readline()print(a, len(a))

b=input()print(b, len(b))#结果:#hello#hello#6#hello#hello 5

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

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

importsys

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

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

importsys

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()没有这个功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值