程春红yy 发表于 2015-9-16 10:39:32

python新手问题

>>> a = 'I love fishc.com\n'*8
>>> a
'I love fishc.com\nI love fishc.com\nI love fishc.com\nI love fishc.com\nI love fishc.com\nI love fishc.com\nI love fishc.com\nI love fishc.com\n'

> a = 'I love fishc.com\n'*8
>>> print (a)
I love fishc.com
I love fishc.com
I love fishc.com
I love fishc.com
I love fishc.com
I love fishc.com
I love fishc.com
I love fishc.com
为什么输出的结果不一样,单独输入a得出的结果是啥?print(a)得出的结果又是啥?新手求解

夕阳游龙 发表于 2015-9-16 13:46:17

你在shell中输入type(print)你就会知道,print是一个内置函数或者方法,你输入print(a),相当于进行print()函数运算,print函数会把'\n'识别为换行,而并不是原始字符串,因而打印出来的是一行行的I love fishc.com
而如果想打印出一行有8个I love fishc.com\n,则在前面加个r,即a=r' 'I love fishc.com\n'*8,然后print(a)
>>> type(print)
<class 'builtin_function_or_method'>

夕阳游龙 发表于 2015-9-16 13:48:23

夕阳游龙 发表于 2015-9-16 13:46
你在shell中输入type(print)你就会知道,print是一个内置函数或者方法,你输入print(a),相当于进行print( ...

是a=r' I love fishc.com\n'*8复制你的时候,多复制了个单引号!

程春红yy 发表于 2015-9-17 09:56:57

夕阳游龙 发表于 2015-9-16 13:48
是a=r' I love fishc.com\n'*8复制你的时候,多复制了个单引号!

谢谢,我差不多明白了,多谢你为我这个菜鸟解答:ton:
页: [1]
查看完整版本: python新手问题