On Sun, Feb 12, 2017 at 05:01:58PM -0200, Joao S. O. Bueno wrote: > You realize now that if we accept this change, and given your example, > any "well behaved" Python code with markup will in a couple months > required to be like > > class MyClass: > """Docstring.""" > > def MyClass.__init__(self: MyClass, ...) -> None: > ... > > # add other methods here.
This is pure and unadulterated FUD. Nobody is going to use this as the standard way of writing classes. That would be silly: you end up repeating the class name over and over and over again. And to say that this will happen "in a couple [of] months" is totally unrealistic. Although, I suppose that if the entire Python community did drop 2.7-3.6 and move to 3.7 within just one or two months so they could use this syntax, that would certainly vindicate the (hypothetical) decision to add this syntax. But honestly, no. This is not going to happen. .Net VB and C# have something like this, as does Lua, and people still write classes the ordinary way 99.99% of the time. The chances of this becoming the required, or even the recommended, way to write methods is much less than the chances of President Trump introducing Sharia law to the United States. > And all it will take is some bureaucratic minded person to put that as > default > option in some highly used linter, like the one that used-to-be-known-as-pep8. Do you *really* think that a linter that used to be called "PEP8" is going to require as a default syntax which (1) doesn't work before Python 3.7 at the earliest, and (2) has no support in PEP-8? It's one thing to question whether this feature is useful enough to be worth adding. It's another to make panicky claims that the Sky Will Fall if it is accepted. -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/