自訂類別

案例研究:用 Python 建構軟體

Mark Pedigo

Principal Data Scientist

路線圖

里程碑圖,顯示專案已完成與即將開始的部分。

案例研究:用 Python 建構軟體

每月房貸計算

每月房貸計算公式為

$$\text{monthly payment} = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1},$$

其中

  • $P$ 為貸款金額,
  • $r$ 為月利率,且
  • $N$ 為每月付款期數。
1 https://en.wikipedia.org/wiki/Mortgage_calculator
案例研究:用 Python 建構軟體

為類別加入功能

計算每月付款的方法

def monthly_payment(self):
    # Compute the multiplier
    numerator = self.monthly_interest_rate * \
        (1 + self.monthly_interest_rate) ** self.months
    denominator = (1 + self.monthly_interest_rate) ** self.months - 1
    multiplier = self.divide(numerator, denominator)
    # Calculate the monthly payment
    monthly_payment = self.multiply(self.loan_amount, multiplier)
    return monthly_payment
案例研究:用 Python 建構軟體

計算每月付款

# Instantiate a mortgage calculator
mortgage_calculator = calculators.MortgageCalculator(300000, 0.065, 30)

# Calculate the monthly payment
print(round(mortgage_calculator.monthly_payment, 2))
1703.37
案例研究:用 Python 建構軟體

再看 dir()

  • dir(ClassName)——列出類別的函式
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__',
'calculate_monthly_payment', 'difference', 'monthly_interest',
'monthly_interest_rate', 'monthly_payment', 'months', 'power', 'principal',
'product', 'quotient', 'sum']
案例研究:用 Python 建構軟體

F-string 範例

name = "Alice"
age = 17
# Using an f-string to include variables in a sentence
greeting = f"Hello, my name is {name} and I'm {age} years old."
print(greeting)
Hello, my name is Alice and I'm 17 years old.
案例研究:用 Python 建構軟體

一起來練習吧!

案例研究:用 Python 建構軟體

Preparing Video For Download...