Код: Выделить всё
def example(user_input: str) -> None:
tokens: List[Token] = []
position = 0
length_of_input: int = len(user_input)
while position < length_of_input:
match: Union[re.Match[str], None] = None
sliced_input = user_input[position:]
# There's more code but you probably get the point
- Если функция возвращает None, следует вы все еще указываете это, как я это делаю в примере функции?
- Я вижу, что многие другие программисты Python используют AnyStr вместо str. Я не спрашиваю почему, я просто хочу знать, имеет ли это значение и не является ли использование str вместо AnyStr плохой практикой.
Код: Выделить всё
# There's a lot of context that goes with this but just assume factor_node_result.tokens is a List
tokens = factor_node_result.tokens.copy()
Код: Выделить всё
None has no method copy()
Код: Выделить всё
if factor_node_result.tokens is not None:
tokens = factor_node_result.tokens.copy()
- Могу ли я в любом случае использовать магию подсказок типов или настроить свой линтер так, чтобы каким-то образом игнорировать этот вид проверки?
- Есть менять код ради удовлетворения линтера — плохая практика?
Подробнее здесь: https://stackoverflow.com/questions/775 ... the-linter