(original) (raw)
Sorry, this one shouldn't be "an"; " a" was correct::
\`\`repr\`\`: If true (the default), an \`\`\_\_repr\_\_\`\` method will be generated.
Note that \_\_repr\_\_ can be dangerous with user-supplied input because of terminal control character injection (e.g. broken syntax highlighting, \\r, character set, LEDs,)
On Thursday, November 30, 2017, Wes Turner <wes.turner@gmail.com> wrote:
Could these be things in types?types.ClassTypetypes.InstanceTypetypes.DataClasstypes.DataClassInstanceType (?)I sent a PR with typo fixes and \`\`.. code:: python\`\` directives so that syntax highlighting works (at least on GitHub).Additional notes:- "DataClass" instead of "Data Class" would be easier to search for. s/DataClass/Data Class/g?- It's probably worth mentioning how hash works when frozen=True also here:- The \`hash\` explanation could be a two column table for easier readabilityWhat a great feature.- Runtime data validation from annotations (like PyContracts,) would be cool- \_\_slots\_\_ are worth the time
On Thursday, November 30, 2017, Antoine Pitrou <solipsis@pitrou.net> wrote:
isdataclass() testing for instance-ship does sound like a bug magnet to
me.
If isdataclassinstance() is too long (that's understandable), how about
isdatainstance()?
Regards
Antoine.
On Wed, 29 Nov 2017 17:02:21 -0800
Guido van Rossum <guido@python.org> wrote:
\> On Wed, Nov 29, 2017 at 3:51 PM, Carl Meyer <carl@oddbird.net> wrote:
\>
\> > On 11/29/2017 03:26 PM, Eric V. Smith wrote:
\> > > I've posted a new version of PEP 557, it should soon be available at
\> > > https://www.python.org/dev/peps/pep-0557/.
\> > >
\> > > The only significant changes since the last version are:
\> > >
\> > > - changing the "compare" parameter to be "order", since that more
\> > > accurately reflects what it does.
\> > > - Having the combination of "eq=False" and "order=True" raise an
\> > > exception instead of silently changing eq to True.
\> > >
\> > > There were no other issues raised with the previous version of the PEP.
\> >
\> > Not quite; I also raised the issue of isdataclass(ADataClass) returning
\> > False. I still think that's likely to be a cause of bug reports if left
\> > as-is.
\> >
\>
\> I tried to look up the discussion but didn't find much except that you
\> flagged this as an issue. To repeat, your concern is that isdataclass()
\> applies to \*instances\*, not classes, which is how Eric has designed it, but
\> you worry that either through the name or just because people don't read
\> the docs it will be confusing. What do you suppose we do? I think making it
\> work for classes as well as for instances would cause another category of
\> bugs (confusion between cases where a class is needed vs. an instance
\> abound in other situations -- we don't want to add to that). Maybe it
\> should raise TypeError when passed a class (unless its metaclass is a
\> dataclass)? Maybe it should be renamed to isdataclassinstance()? That's a
\> mouthful, but I don't know how common the need to call this is, and people
\> who call it a lot can define their own shorter alias.
\>
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/wes. turner%40gmail.com