mirror of
https://github.com/python/cpython.git
synced 2025-11-25 04:34:37 +00:00
bpo-37868: Improve is_dataclass for instances. (GH-15325)
This commit is contained in:
parent
d3c8d73514
commit
b0f4dab873
3 changed files with 32 additions and 2 deletions
|
|
@ -1015,13 +1015,14 @@ def fields(class_or_instance):
|
|||
|
||||
def _is_dataclass_instance(obj):
|
||||
"""Returns True if obj is an instance of a dataclass."""
|
||||
return not isinstance(obj, type) and hasattr(obj, _FIELDS)
|
||||
return hasattr(type(obj), _FIELDS)
|
||||
|
||||
|
||||
def is_dataclass(obj):
|
||||
"""Returns True if obj is a dataclass or an instance of a
|
||||
dataclass."""
|
||||
return hasattr(obj, _FIELDS)
|
||||
cls = obj if isinstance(obj, type) else type(obj)
|
||||
return hasattr(cls, _FIELDS)
|
||||
|
||||
|
||||
def asdict(obj, *, dict_factory=dict):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue