Rule of order for dot operators?
Steven D'Aprano
steve at pearwood.info
Mon Jun 8 09:06:58 EDT 2015
On Mon, 8 Jun 2015 09:21 pm, Albert van der Horst wrote:
> Why is "slug.title" a valid decomposition of the total string>
> (Or is it?)
I'm afraid I don't understand the question.
> What is the ()-brackets doing? Does it force the execution of title,
> which gives something to be dotted onto slug etc. See below.
slug.title looks up an attribute called "title" attached to the object
called "slug". In this case, slug is a string, so slug.title finds the
string title method:
py> slug = "hello"
py> slug.title
<built-in method title of str object at 0xb7b036e0>
Then the round brackets (parentheses) calls that method with no arguments,
which returns a new string:
py> slug.title()
'Hello'
> I interpreted the question as about the associative of the
> dot operator.
Technically, dot is not an operator. I believe that the docs call it a
delimiter, but in once sense it is more than that because it also performs
an attribute lookup.
In any case, the order of applying dots is *strictly* left-to-right.
--
Steven
More information about the Python-list
mailing list