在最新的python3.7中我使用到了内置函数print()遇到了一些问题
也许你认为这是一个很蠢很傻的问题,但是我虽然可以轻松的用别的方法解决他但是我始终心里很郁闷,问题是这样的,当你使用python自带函数print()时,此功能默认是提供了换行功能,本能上我想要设置他不去换行,于是我找了很久来查看这个函数,始终没有找到具体的说明,他的英文文档说想要关闭换行使用加一个逗号的方法就可以了可是我这里毫无用处,然后我又在后面加入了一个参数end结果会报告语法错误,我的心里很纠结阿!!!然后我又试图用寻找源代码的方式来定位到他的源文件,结果居然整个lib下面都没有找到他的存在,我很是郁闷,而且这个print似乎就仅仅是一个函数而已,并且不是一个对象!!!我不知道是不是哪个粗心的家伙把他写在默认加载器里面了!还是本身没有把他独立出来,但是这个东西时在是太困惑我了这里,我附上我的python版本号,和环境情况,希望你们谁能给我一个准确的答复,或者提供print找到源代码的方法和代码,在这里非常的感谢你们!本来我就没有指望在这里能问到,我是去stackoverflow的,结果我的账号什么的早就丢了快3年了,我没有办法去询问和找到有用的资料,我多么想生在美国阿!!!
BestRegards!
Yours Leo Y
相关代码
section 1
>>> print(111,end='')
File "<stdin>", line 1
print(111,end='')
^
SyntaxError: invalid syntax
>>>
section 2
>>> print(111,)
(111,)
>>>
我只是要一个完美的换行!
问题描述
1.我在交互行使用这种方式查看似乎看不到任何问题
>>> help(print)
File "<stdin>", line 1
help(print)
^
SyntaxError: invalid syntax
>>>
2.但是我在交互行里面查看print是可以的但是说明并没有什么卵用,我要的是他的内部实现
help> print
3.我又相继在几个lib里面寻找这个print的所在之处
leo@leo-person-pc:/usr/lib/python3.7$ sudo grep -rn 'def print(' *
leo@leo-person-pc:/usr/lib/python3.7$ sudo grep -rn 'def print(' *
leo@leo-person-pc:/usr/lib/python3.7$ cd ..
leo@leo-person-pc:/usr/lib$ ls -la | grep python
drwxr-xr-x 27 root root 24576 6月 30 09:02 python2.7
drwxr-xr-x 3 root root 4096 2月 10 08:12 python3
drwxr-xr-x 30 root root 20480 6月 27 11:13 python3.6
drwxr-xr-x 5 root root 4096 6月 27 11:13 python3.7
我用上面的命令找了几个目录都没有找到,看不到print的内在实现!!!!
问题出现的平台版本及自己尝试过哪些方法
希望看到了这个问题的你,也乐于分享解决的办法,或者帮助我找找看看!谢谢
python2 里
print
是一个 statement,不是函数。可以通过加“,
”屏蔽换行:print a,
注意没有括号
加了括号,
print(a,)
是在打印一个tuple,(a,)
是只含有一个元素的tuple。,
只有在 statement 末尾才有作用。python3 里
print
是一个函数,要用end=''
去掉换行。print(a,end='')
python2 与 python3 不同,语法也不兼容