制作"string".functions()函数python

IT *_*nja 4 python function python-2.7

可能重复:
我可以为内置Python类型添加自定义方法/属性吗?

在整个使用Python的过程中,我已经看到很多可以在字符串上使用的东西,比如.lower()或者,.startswith()或者.endswith(),我不确定如何创建与它类似的函数,因为我认为必须使用传递字符串的类这个功能,我只是想做一些事情,"the string".myfunc()而不是MyClassObjWithString.myfunc().

有没有办法制作这样的功能?

mgi*_*son 6

在python中,字符串文字总是类型basestring(或str在py3k中).因此,您无法向字符串文字添加方法.您可以创建一个在构造函数中接受字符串的类,并且具有可能有用的方法:

MyClass("the string").myfunc()
Run Code Online (Sandbox Code Playgroud)

当然,那么你可能会认为你应该写一个函数:

myfunc("the string")
Run Code Online (Sandbox Code Playgroud)