python / python/typing

Clarification: interaction between `@property` and `@final`

Abierto
#2,336 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

topic: typing spec
Lenguaje dominante
Python
Estrellas
1.8k
Forks
302
Merge medio
23 h
PR fusionados (30 d)
8

Descripción

The spec for @final says:

The method decorator version may be used with all of instance methods, class methods, static methods, and properties.

and it made me wonder how exactly final interacts with property. There are no conformance tests exercising this specific interaction.

From carefully reading the spec, it seems like the only effect of @final on a property is to prevent it from being overridden in a child class, and that decorating a property with @final does not cause it to be read-only or disallow a setter.

Is my understanding correct? If so, does it make sense to add a clarification to the spec that the decorator does not make a property read-only?

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la sección @final de la especificación de typing y revisa las pruebas de conformidad existentes para propiedades, setters y herencia. Se considera terminado cuando la especificación establece claramente cómo se aplica @final a las propiedades y, si corresponde, una prueba de conformidad registra el comportamiento previsto.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
documentation, testing-qa
Tipo de issue
Documentación
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
58/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.