关于Python文档的问题:在“string.split(s)”中,为什么s in()?

时间:2015-10-30 13:45:05

标签: python string split

我最近开始学习Python,而且我很难理解字符串模块上的Python文档(www.python.org)。

当我使用Python文档(www.python.org)搜索字符串模块时,我得到一个字符串模块函数列表,它们在括号中加上字符串变量(“s”),后跟函数名称。例如,在“string.split(s [,sep [,maxsplit]])”的情况下,不应该是“s.split([sep [,maxsplit]])”?

我不遵循的是字符串变量在括号中就像输入变量一样。

如果s =“我正在拆分这句话。”,我喜欢用空格分割句子(字符串变量s),命令应该是s.split()。例如:

s = "I am splitting this sentence."

s.split()

['I', 'am', 'splitting', 'this', 'sentence.']

但是,当我阅读文档时,听起来我需要将命令编写为“split(s)”而不是“s.split()”,因为字符串变量在括号内?

有人可以解释为什么字符串变量在括号内(“string.split(s [,sep [,maxsplit]])”)?为什么文档没有写成“s.split([sep [,maxsplit]])”?

[补充] 下面有人提到我的问题已经在这里被问到并回答了,但我找不到那个问题。并且,我所指出的问题与我的问题完全不同......请帮忙!

3 个答案:

答案 0 :(得分:3)

有一个“字符串”模块,它实现了许多与字符串对象“str”相同的功能。两者都有效。您可以string.split('foo bar baz')'foo bar baz'.split()

“字符串模块包含许多有用的常量和类,以及一些不推荐使用的旧函数,它们也可用作字符串上的方法。”

答案 1 :(得分:2)

这是方法在Python中调用的方式。这是一个例子:

class Test(object):
 def method(self):
  print 5

现在我可以用两种方式来称呼它:

t = Test()
t.method()

或:

t = Test()
Test.method(t)

所以自我只是第一个参数。但第一种方式是强烈的首选。

答案 2 :(得分:0)

是一个字符串对象。字符串具有split()方法,您可以使用点表示法(即s.split())访问它。括号采用参数,例如用于选择要拆分的字符的参数。

"h.e.l*l.o.".split('*')

将返回['h.e.l','l.o'],因为已将星号指定为拆分字符串的参数。 当你在谈论在split(split(s))的括号中有s时,s代表一个参数。当s在这里: s .split时,s是一个字符串对象。