目录
(小声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')