Olá, Jeanderson.
Ao utilizar após o nome do atributo o str, significa que eu indico para o usuário qual o tipo de entrada esperada para aquele atributo quando for instanciar algum objeto. No caso, no código que você citou, eu indico que espero String (str).
Por exemplo, ao criar uma classe chamada Carro, eu posso usar para o seu init a seguinte linha de código:
class Carro:
def __init__(self, marca: str, ano: int):
self._marca = marca
self._ano = ano
No momento que eu for instanciar qualquer objeto de carro, a IDE já vai me ajudar a visualizar que eu preciso destes dois atributos para inicializar este objeto e que o tipo esperado deles é String e int, respectivamente.