偶然间接触到python,被其语言特性所吸引,遂在网上下了本“python基础教程”电子版的书籍查阅,又在电脑上装了Python3.3.2。学习过程中,使用print()函数时,每次输出都是自动换行,于是思考,其能否像C语言中默认不换行而通过‘\n’来控制打印输出的换行问题。
所看书籍以Python2.x进行讲解,其可以print语句后跟','控制其不换行。而在python3.x中print不再是语句,而变成函数,故其控制方法也发生变化。python3.x中可以通过end变量来控制输出。如print(1,2,3,end='')即可保证输出不换行,当然end也可以取值' '或','或‘\n'或'a'等其他字符。
由此也可以猜测end默认值为‘\n’,从而在我们给end赋值时print()打印输出会自动换行。于是,查看了python内置print()函数原型如下:
<span style="color:#ff6600;">print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)</span>
其中,objects中每一个对象都会被转化为string的形式,然后写到file指定的文件中,默认是标准输出(sys.stdout),每一个对象之间用sep分隔,默认是空格;所有对象都写到文件后,会写入end,默认是换行。我们在使用时,可以根据需要对参数进行调整。
最后,作为一个习惯C语言的coder,我不得不说,如果python内置print()函数时将end赋值为''(空)的话,我们就能像C语言一样使用print()了。