>>> import string
>>> s = 'happy cat'
>>> string.find(s, 'cat')
6
和
>>> s = 'happy cat'
>>> s.find('cat')
6
在上面的 2 段代码中,我有以下疑问。
- 为什么第二个代码在不导入字符串模块的情况下工作?
- 使用一个比另一个有性能改进吗?
谢谢维奈
string
模块中定义的函数现在是str
的方法,在Python 2.4中被弃用,根本不应该使用,尽管它们在后来的Python 2版本中被保留下来以向后兼容。它们在Python 3.0中被删除。
- 为什么第二个代码在不导入字符串模块的情况下工作?
因为它是一种str
类型的方法。
- 使用一个比另一个有性能改进吗?
好吧,string.find(x, y)
调用x.find(y)
,但性能在这里无关紧要(见第一句话(。