Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

help() on types has strange(if defined) notice for attributes that are defined #112266

Closed
Assignees
sobolevn
Labels
docsDocumentation in the Doc dirtype-featureA feature request or enhancement
@sobolevn

Description

@sobolevn

Feature or enhancement

Let's say we have a regular class and we callhelp() on it:

>>>classA: ......>>>help(A)HelponclassAinmodule__main__:classA(builtins.object)|Datadescriptorsdefinedhere:||__dict__|dictionaryforinstancevariables (ifdefined)||__weakref__|listofweakreferencestotheobject (ifdefined)

This leaves a strange impression: what does it mean for__dict__?

dictionary for instance variables (if defined)

It is defined.

The same for regular__doc__:

>>>A.__dict__['__dict__'].__doc__'dictionary for instance variables (if defined)'

Let's see what happens when__dict__ and__weakref__ are not defined:

>>>classB:...__slots__= ()...>>>help(B)HelponclassBinmodule__main__:classB(builtins.object)

And:

>>>B.__dict__['__dict__']Traceback (mostrecentcalllast):File"<stdin>",line1,in<module>B.__dict__['__dict__']~~~~~~~~~~^^^^^^^^^^^^KeyError:'__dict__'

The historical reason behind it is:373c741#diff-1decebeef15f4e0b0ce106c665751ec55068d4d1d1825847925ad4f528b5b872R1356-R1377

What do others think: should we remove(if defined) part?
If so, I have a PR ready.

Linked PRs

Metadata

Metadata

Assignees

Labels

docsDocumentation in the Doc dirtype-featureA feature request or enhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp