treat uppercase variables as `Final`
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
Feature
A = 1
A = 2
make A be treated as
from typing import Final
A: Final = 1
A = 2
thus, it will emit error with
test.py:1: error: Cannot assign to final name "A" (because it is uppercase)
Found 1 error in 1 file (checked 1 source file)
Pitch
It would be convenient to not add Final to uppercase variables.
Since pep 8 states that constants are named with uppercase, uppercase variables could be considered Final.

Pylance also uses this convention and warns when UPPERCASE variables are mutated.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia tracciando come mypy gestisce attualmente le assegnazioni a nomi annotati con typing.Final, quindi confronta questo percorso con la convenzione per le costanti in maiuscolo descritta nell’issue. Usa gli esempi in test.py come casi comportamentali: un nome in maiuscolo inizializzato una volta dovrebbe essere trattato come final, e un’assegnazione successiva dovrebbe produrre l’errore mostrato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100