Python 字符串模块与 STR 方法


>>> import string
>>> s = 'happy cat'
>>> string.find(s, 'cat')
6

>>> s = 'happy cat'
>>> s.find('cat')
6

在上面的 2 段代码中,我有以下疑问。

  1. 为什么第二个代码在不导入字符串模块的情况下工作?
  2. 使用一个比另一个有性能改进吗?

谢谢维奈

string模块中定义的函数现在是str的方法,在Python 2.4中被弃用,根本不应该使用,尽管它们在后来的Python 2版本中被保留下来以向后兼容。它们在Python 3.0中被删除。

  1. 为什么第二个代码在不导入字符串模块的情况下工作?

因为它是一种str类型的方法。

  1. 使用一个比另一个有性能改进吗?

好吧,string.find(x, y)调用x.find(y),但性能在这里无关紧要(见第一句话(。

最新更新