Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python string module vs str methods

Tags:

python

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

and

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

In the above 2 pieces of code, i have the following doubts.

  1. Why is the 2nd code working without import the string module?
  2. Is there any performance improvement in using one over the other?

Thanks, Vinay

like image 565
Vinay Avatar asked Jan 05 '12 08:01

Vinay


1 Answers

The functions defined in string module that are nowadays methods of str were deprecated in Python 2.4 and should not be used at all, though they were retained in later Python 2 versions for backward-compatibility. They were removed in Python 3.0.

  1. Why is the 2nd code working without import the string module?

Because it's a method of str type.

  1. Is there any performance improvement in using one over the other?

Well, string.find(x, y) calls x.find(y), but the performance doesn't matter here (see first sentence).

like image 65
Cat Plus Plus Avatar answered Nov 12 '22 10:11

Cat Plus Plus