底层代码实现原理--print

目录

(小声bb:不定期更新)

1.print调用Python中底层的什么方法
2. …

1.print调用Python中底层的什么方法:

关于python中的print函数,我们可以进入到这个函数里进行查看
print的定义如下:

def print(self, *args, sep=' ', end='\n', file=None)

其中有如下注释:

print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件。
在python中,print其实是sys.stdout.write()的方法;

但是:
print()中,传入的参数,是进行了转为字符串的操作的,因为sys.stdout.write()的参数,只允许接收字符串类型的;如下代码:

print(10)
sys.stdout.write(str(10))

如果写成 sys.stdout.write(10),将会报出下面的错误:

TypeError: write() argument must be str, not int

其次:sys.stdout.write()还增加了换行指令,也就是

sys.stdout.write('需要打印的内容'  + '\n')

下面两句代码的执行效果是完全一样的:

print()
sys.stdout.write('\n')

而且:sys.stdout.write( )里面是必须要传入一个参数的,没有参数就会报错。

总结:
print在python中的底层实现是:调用了sys.stdout.write( )这个函数;
但是,在使用方法上,实际上是:
print(obj) == sys.stdout.write(str( obj ) + '\n')

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值