Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

uso do IF

Boa tarde! no código:

class Funcionario:
    def registra_horas(self, horas):
        print('Horas registradas...')

    def mostrar_tarefas(self):
        print('Fez muita coisa...')

class Caelum(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Caelumer')

    def busca_cursos_do_mes(self, mes=None): #AQUII
        print(f'Mostrando cursos - {mes}' if mes else 'Mostrando cursos desse mês')

class Alura(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Alurete!')

    def busca_perguntas_sem_resposta(self):
        print('Mostrando perguntas não respondidas do fórum')

não entendi o uso do If, não entendi qual a condição precisa ser feita para entrar no If

3 respostas
solução!

Boa noite, Hélio!

Vou ver se consigo te ajudar. Na função em questão perceba que o parâmetro mes é opcional pois estamos atribuindo um valor padrão (None) a ele, o que significa que mes pode ter valor nulo se chamarmos a função assim:

busca_cursos_do_mes()

O If em questão está tratando esses casos onde a função é chamada sem a passagem do parâmetro, para evitar que seja printado um valor nulo. Então, caso mes não seja nulo, será printado Mostrando cursos - x, onde x é o valor presente em mes. Caso contrário, printará Mostrando cursos desse mês.

Espero ter ajudado um pouco a sanar sua dúvida.

Bom dia! Tudo bem Hélio? Complementando a resposta do nosso amigo Matheus... Em Python é possível usar o IF passando a variável sem usar o teste lógico propriamente, pois ele interpreta o None como False. Nesse caso, se existir algum valor para o parâmetro "mes" ele vai retornar verdadeiro (tornando a condição IF verdadeira) e tentará usar esse valor passado no parâmetro. Caso não seja passado nada ele assume o valor default que é None, nesse caso, como None é interpretado como False o a condição IF não é executada, passando para o else.

Espero ter contribuído um pouco.

Ficou mais claro, obrigado aos dois!