# It is fun.the result of str.lower(str())

Discussion in 'Python' started by Sullivan WxPyQtKinter, Mar 7, 2006.

1. ### Sullivan WxPyQtKinterGuest

Guess what would be the result of these functions:

>>>str.lower('ASFA')
>>>str.join(str(),['1','1','1'])
>>>str.join('a','b')

If you guess them correctly, please explain.
Sullivan WxPyQtKinter, Mar 7, 2006

2. ### Fredrik LundhGuest

"Sullivan WxPyQtKinter" wrote:

> Guess what would be the result of these functions:
>
> >>>str.lower('ASFA')
> >>>str.join(str(),['1','1','1'])
> >>>str.join('a','b')

>
> If you guess them correctly, please explain.

as I just said, I.method() and C.method(I) are equivalent,
so that's just an odd way to write

'ASFA'.lower()
str().join(['1', '1', '1'])
'a'.join('b')

which, given that str() returns an empty string, and a string
behaves like a sequence of individual characters, is equivalent
to

'ASFA'.lower() => 'asfa'
''.join(['1', '1', '1']) => '111'
'a'.join(['b']) => 'b'

</F>
Fredrik Lundh, Mar 7, 2006

3. ### Duncan BoothGuest

Sullivan WxPyQtKinter wrote:

> Guess what would be the result of these functions:
>
>>>>str.lower('ASFA')
>>>>str.join(str(),['1','1','1'])
>>>>str.join('a','b')

>
> If you guess them correctly, please explain.

I think it was because I've read the manuals.
Duncan Booth, Mar 7, 2006
4. ### bruno at modulixGuest

Sullivan WxPyQtKinter wrote:
> Guess what would be the result of these functions:

s/functions/method calls/

>
>>>>str.lower('ASFA')

=> 'ASFA'.lower() => 'asfa'

>>>>str.join(str(),['1','1','1'])

=> ''.join(['1','1','1']) => '111'

>>>>str.join('a','b')

=> 'a'.join('b') => 'b'

>
> If you guess them correctly,

No need to guess, there's this thing named the python interactive shell,
you know... And it even has an integrated help system.

Explain what ? It's all in the fine manual.

* Klass() is a call to Klass's constructor and returns an instance of Klass.

* Klass.method(klass_instance) is the same as klass_instance.method()
* str is the builtin string class.
* without any args, the str constructor returns an empty string
* str.join() takes a sequence of strings and join'em with the target str
instance as separator

Now would you be kind enough to explain what's funny about all this ?

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"
bruno at modulix, Mar 7, 2006
5. ### Christos GeorgiouGuest

On Tue, 07 Mar 2006 10:23:59 +0100, rumours say that bruno at modulix
<> might have written:

<snip various python expressions>

>Now would you be kind enough to explain what's funny about all this ?

I would guess it's the statement: "Funny, it works!"
--
TZOTZIOY, I speak England very best.
"Dear Paul,
The Corinthians
Christos Georgiou, Mar 7, 2006
6. ### Tim RobertsGuest

"Sullivan WxPyQtKinter" <> wrote:
>
>Guess what would be the result of these functions:
>
>>>>str.lower('ASFA')
>>>>str.join(str(),['1','1','1'])
>>>>str.join('a','b')

>
>If you guess them correctly, please explain.

Can you tell us what you expected these to do? It might help future
questioners.
--
- Tim Roberts,
Providenza & Boekelheide, Inc.
Tim Roberts, Mar 9, 2006