Document that `inspect.isclass` returns False for `GenericAlias` instances
Aberta
@AbduazizZiyodov já está trabalhando nisso.
Desde 13/4/2025.
docs
easy
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
Bug report
Bug description:
Hi
I am not sure if this is a bug, but I use the bug template because I couldn't find a better one to submit questions like this one.
The documentation says, "User-defined generic classes can be instantiated.".
import inspect
from typing import TypeVar, Generic
T = TypeVar("T")
class Node(Generic[T]):
x: T # Instance attribute (see below)
def __init__(self, label: T | None = None) -> None:
self.label = label
x = Node("") # Inferred type is Node[str]
y = Node(0) # Inferred type is Node[int]
z = Node() # Inferred type is Node[Any]
# Also OK:
y = Node[int](0)
print(inspect.isclass(Node)) # True
print(inspect.isclass(Node[int])) # False (shouldn't this be True?)
print(inspect.isclass(Node[str])) # False (shouldn't this be True?)
In the example above, shouldn't calls such as inspect.isclass(Node[int]) return True, since they can be instantiated and used like normal classes?
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Linked PRs
- gh-133504
- gh-150854
- gh-151116
- gh-151117
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Avaliação
Esta issue ainda não foi avaliada.