Documenteer je nieuwe klasse

Casestudy: Software bouwen in Python

Mark Pedigo, PhD

Principal Data Scientist

Roadmap

Roadmap die laat zien welke delen van het project klaar zijn en welke we starten.

Casestudy: Software bouwen in Python

Je klassenhiërarchie

  • BasicCalculator
    • Voert basisrekenen uit
  • FinancialCalculator
    • Kind van BasicCalculator
    • Voegt financiële functies toe, zoals rente
  • MortgageCalculator
    • Erft van FinancialCalculator
    • Combineert functionaliteit van beide klassen
Casestudy: Software bouwen in Python

Docstrings

  • Voordelen van docstrings
    • Geven duidelijke, bondige uitleg van code
  • Een docstring maken
    • Zet een stringliteral als eerste statement
    • Schrijf doel en functionaliteit
def MortgageClass(FinancialCalculator):
    """
    MortgageClass breidt FinancialCalculator uit met hypotheekspecifieke berekeningen.
    """
    ...
Casestudy: Software bouwen in Python

Voeg attributen toe aan de MortgageCalculator-klasse

    class MortgageCalculator(FinancialCalculator):
    def __init__(self, loan_amount, annual_interest_rate, years):
        super().__init__()
        self.loan_amount = loan_amount
        self.monthly_interest_rate = self.monthly_interest(annual_interest_rate)
    self.months = years * 12
    # Maak een attribuut voor het maandbedrag.
    self.monthly_payment = self.calculate_monthly_payment()
Casestudy: Software bouwen in Python

Houd functionaliteit van klassen bij

  • Gebruik dir(ClassName) voor een lijst met functies van een klasse
dir(MortgageCalculator)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', 
'__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', 
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__', '__weakref__', 
'difference', 'monthly_interest', 'months_from_years',
'power', 'product', 'quotient', 'sum']
Casestudy: Software bouwen in Python

Laten we oefenen!

Casestudy: Software bouwen in Python

Preparing Video For Download...