Почему в Python можно не описывать поля классов, а в C# обязательно?
Здравствуйте. Это всё из-за того, что Python является языком с динамической типизацией, а C# - язык со строгой типизацией, что помогает избежать дополнительных расходов на память. За счёт этого Python более простой, но C# безопаснее и быстрее. В общем, в C# всё должно быть определено заранее, без каких-либо сюрпризов.
Ох, не надо так делать. Утилита mypy на такое ругается. PyCharm будет - пошел issue создавать.