carpentries-incubator / carpentries-incubator/python-intermediate-development
section on type annotation
- Lingua principale
- TeX
- Stelle
- 63
- Fork
- 77
- Merge medio
- 20h 8m
- PR unite (30g)
- 3
Descrizione
Hi, I'd like to contribute a section on type annotation in Python. The most logical place would be as a section 2.5 (shifting the optional exercises to 2.6). The section would take about one hour to teach, and teachers would have to choose to teach this over some other section. Overview:
1. Introduction to type annotation as a means of hardening code, early error detection, documentation and improving auto-completion.
2. Show type checker ecosystem: `mypy` (Guido), `pyright` (microsoft), `pyrefly` (meta), `ty` (astral).
3. Typing containers, type parameters.
4. Sum-types using the `|` operator, and product-types using dataclasses.
5. Abstract types: `Iterable`, `Callable`, `collections.abc`
6. Optional: generic types, protocols
Let me know what you think!
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Non sono indicati file di destinazione o test; individua prima il codice sorgente della lezione per la sezione 2.5 e verifica come sono organizzate le sezioni e gli esercizi facoltativi. Il lavoro è completo quando viene aggiunta una sezione sulle annotazioni di tipo che copra gli argomenti elencati, gli esercizi facoltativi vengono spostati nella sezione 2.6 e viene risolto il compromesso didattico.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- content, documentation
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100