Doh!

Yes, of course 'self' is only a scoped name within the body of the method,
not in the signature.

On Thu, Sep 22, 2016 at 1:02 PM, Alexander Belopolsky <
alexander.belopol...@gmail.com> wrote:

>
> On Thu, Sep 22, 2016 at 3:58 PM, David Mertz <me...@gnosis.cx> wrote:
>
>> It's more verbose, but you can also spell it now as:
>>
>> class A:
>>     def __add__(self, other: type(self)) -> type(self): ...
>>
>
> No, you can't:
>
> >>> class A:
> ...     def __add__(self, other: type(self)) -> type(self): ...
> ...
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "<stdin>", line 2, in A
> NameError: name 'self' is not defined
>



-- 
Keeping medicines from the bloodstreams of the sick; food
from the bellies of the hungry; books from the hands of the
uneducated; technology from the underdeveloped; and putting
advocates of freedom in prisons.  Intellectual property is
to the 21st century what the slave trade was to the 16th.
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to