Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #99969

Re: 'string.join' is wrong in my Python console

From MRAB <python@mrabarnett.plus.com>
Newsgroups comp.lang.python
Subject Re: 'string.join' is wrong in my Python console
Date 2015-12-03 16:24 +0000
Message-ID <mailman.177.1449159850.14615.python-list@python.org> (permalink)
References <88afafc5-699f-46ea-aaca-7e78b75a4552@googlegroups.com> <mailman.162.1449133357.14615.python-list@python.org> <n3pov1$ih2$1@news.albasani.net>

Show all headers | View raw


On 2015-12-03 16:00, Robin Koch wrote:
> Am 03.12.2015 um 10:02 schrieb Gary Herron:
>> On 12/02/2015 10:55 PM, Robert wrote:
>>> Hi,
>>>
>>> I read the tutorial on "Why is join() a string method instead of a list
>>>   or tuple method?"
>>> at link:
>>> https://docs.python.org/2/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls
>>>
>>>
>>> I have a problem on running the last line:
>>> ---------------
>>> If none of these arguments persuade you, then for the moment you can
>>>   continue to use the join() function from the string module, which
>>> allows
>>>   you to write
>>>
>>> string.join(['1', '2', '4', '8', '16'], ", ")
>>> -----------------------
>>>
>>> My Python console is 2.7. It should be no problem because I see the
>>> tutorial
>>> is 2.7 too.
>>>
>>> The console has these display:
>>>
>>> string.join(['1', '2', '4', '8', '16'], ", ")
>>> ---------------------------------------------------------------------------
>>>
>>> NameError                                 Traceback (most recent call
>>> last)
>>> <ipython-input-15-3947890a7e6e> in <module>()
>>> ----> 1 string.join(['1', '2', '4', '8', '16'], ", ")
>>>
>>> NameError: name 'string' is not defined
>>>
>>>
>>>  From the context, I don't see string should be replaced by something
>>> else.
>>>
>>> Could you tell me why I have such an error?
>>
>> You are trying to use the *string* module without importing it, I'd guess.
>>
>> Try:
>>      import string
>> first then you should be able to access string.join without error.
>
> Now *I* am confused.
>
> Shouldn't it be
>
> ", ".join(['1', '2', '4', '8', '16'])
>
> instead? Without any importing?
>
The documentation says: """The string module contains a number of
useful constants and classes, as well as some deprecated legacy
functions that are also available as methods on strings."""

The "join" function is one of those old functions you don't need any
more, and you're correct that the the "join" method should be used
instead.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

'string.join' is wrong in my Python console Robert <rxjwg98@gmail.com> - 2015-12-02 22:55 -0800
  Re: 'string.join' is wrong in my Python console dieter <dieter@handshake.de> - 2015-12-03 08:39 +0100
  Re: 'string.join' is wrong in my Python console Sijan Bhandari <sijanonly@gmail.com> - 2015-12-02 23:59 -0800
  Re: 'string.join' is wrong in my Python console Gary Herron <gherron@digipen.edu> - 2015-12-03 01:02 -0800
    Re: 'string.join' is wrong in my Python console Robin Koch <robin.koch@t-online.de> - 2015-12-03 17:00 +0100
      Re: 'string.join' is wrong in my Python console MRAB <python@mrabarnett.plus.com> - 2015-12-03 16:24 +0000
      Re: 'string.join' is wrong in my Python console Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-03 09:25 -0700
        Re: 'string.join' is wrong in my Python console Robin Koch <robin.koch@t-online.de> - 2015-12-03 18:01 +0100
          Re: 'string.join' is wrong in my Python console Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-12-03 17:42 +0000
            Re: 'string.join' is wrong in my Python console Robin Koch <robin.koch@t-online.de> - 2015-12-03 19:15 +0100
      Re: 'string.join' is wrong in my Python console Terry Reedy <tjreedy@udel.edu> - 2015-12-03 12:23 -0500
        Re: 'string.join' is wrong in my Python console Robin Koch <robin.koch@t-online.de> - 2015-12-03 19:16 +0100

csiph-web