stuff.split("xxxx") 。解决方法

stuff.split("xxxx") 。。
分割的时候,是以xxxx进行分割,还是以空格进行分割呢。
刚刚进行测试的时候,出了点问题,现在自己也不知道如何的修正。
具体的原因也不明白。

还希望各位解释下。
我用的windows powershell

Python code
def break_words(stuff):
    """this fuction will break up words for  us."""
    #split的作用,是将stuff的每个单词分割出来,中间加入空格
    words=stuff.split(' ')
    return words



代码就是这一段。
问题是如此的,开始以上面这段程序运行的时候。会出现如下结果。



每个单词都会由两个小引号括起来,

接着,我把代码稍微改一下,
就是把split('')改成split('aaaaa')。结果就是:


输出的时候,单引号不见了。

我再改回来,结果依然是如此,不会回到开始那样。



------解决方案--------------------
字符串输出缺省采用单引号,除非字符串中间包含单引号才使用双引号输出
Python code

>>> "abc"
'abc'
>>> "ab'c"
"ab'c"
>>> 'ab"c'
'ab"c'
>>>

------解决方案--------------------
举个例子:
>>> stuff='i am a boy'
>>> words=stuff.split(' ')
>>> ' '.join(words)
'i am a boy'(字符串类型)
split(' ')这个返回的是一个列表,以空格进行分割,即以括号里面的内容进行分割
如果括号里面有别的字符,如('a')('b')或者任意字符,它就会按照括号的字符进行分割
例如:
>>>stuff.split('123')
>>>['i am a boy'](列表类型)
因为'i am a boy'里面没有‘123’,找不到分割的对象,就把整个字符串作为列表项分割出来,正如你的例子里字符串里没有('aaaaa'),就把整个句子作为列表项输出来。注意整体输出的是列表,而不是字符串
例子:。
>>> stuff='i_am_a_boy'
>>> stuff.split('_')
['i', 'am', 'a', 'boy']
明白了吧
要不以单引号输出,而且输出的是字符串,就要用' '.join()
希望对你有作用
------解决方案--------------------
你的程序输出中的引号是python在打印输出时加上的,表示它是一个字符串。在你的程序中,字符串是没有引号的。例如:

Python code

>>> words = "abc def".split()
>>> words[0]
26: 'abc'
>>> words[0][0]
27: 'a'

------解决方案--------------------
1:如1楼说的,你看到的引号双引号并不是字串本身的内容,只是输出时自动加上的,方便人去辨识。
2:模块加载后又做修改,要用reload()方式或者重新启动解释器,不然是看不到改变的...