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

代码版本:3.6.3

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

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值