1
resposta

execicio 5

Olá. Escrevi inicialmente o código: versão 1:

primeiro_numero = int(input('Digite um número inteiro: '))
segundo_numero = int(input('Digite um número inteiro: '))

def potencial():
  return print(f'A potencia é {pow(primeiro_numero, segundo_numero)}')

potencial()

versão2:

import math

class CalculadoraDePotencia:
    def __init__(self):
        self.base = 0
        self.expoente = 0

    def solicitar_numeros(self):
        self.base = int(input("Digite o 1º número (base): "))
        self.expoente = int(input("Digite o 2º número (expoente): "))

    def calcular_potencia(self):
        return math.pow(self.base, self.expoente)

# Demonstração:
# Criamos uma instância da classe e usamos seus métodos
# NOTA: A função input não funcionará diretamente aqui, então vou simular essa parte.
calculadora = CalculadoraDePotencia()
calculadora.base = 2  # Simulando a entrada do usuário
calculadora.expoente = 3  # Simulando a entrada do usuário
resultado = calculadora.calcular_potencia()
resultado

versão3: depois escrevi com POO:

class CalculadoraDePotencia:
    def __init__(self):
        self._base = 0
        self._expoente = 0

    def solicitar_numeros(self):
        self._base = int(input("Digite o 1º número (base): "))
        self._expoente = int(input("Digite o 2º número (expoente): "))

    def calcular_potencia(self):
      return math.pow(self._base, self._expoente)


calculadora = CalculadoraDePotencia()
calculadora.solicitar_numeros()  
resultado = calculadora.calcular_potencia()
resultado

1- Em data science , a programação orientada a objetos (POO) é relevante? É comum? Ou a abordagem procedural é mais frequente?

2- Devemos criar ambientes virtuais no Colab ou ele já fornece um ambiente virtual por padrão?

3- Não tenho o costume de usar input() em POO. A abordagem da versão 2, onde atribuo valores diretamente, é mais comum para mim. No entanto, na versão 3, o código só funciona quando não defino as variáveis no método init (atribuindo a elas valores iniciais = 0). Isso está correto? Existem abordagens melhores?

3- No contexto do Desenvolvimento Orientado a Testes (TDD), aplicaremos essa metodologia no Colab? Preciso praticar mais a parte de testes.

1 resposta

Pela minha experiencia, em DS a POO pode ser utilizada mas não é feito com tanta frequencia, em grande parte a abordagem procedural é mais comum. Em deep learning a POO é mais frequente. O colab já cria seu proprio ambiente virtual padrão. O método init precisa que os valores iniciais das variaveis seja 0. Talvez funcionaria voce atribuir o valor zero às variveis antes de definir o método.