Module src.calculator

calculator.py

基本的な計算機能を提供するモジュール

Expand source code
"""
calculator.py

基本的な計算機能を提供するモジュール
"""


class Calculator:
    """
    シンプルな計算機クラス
    
    このクラスは基本的な算術演算を実行します。
    
    Examples:
        >>> calc = Calculator()
        >>> calc.add(2, 3)
        5
        >>> calc.multiply(4, 5)
        20
    """
    
    def __init__(self):
        """Calculatorクラスのコンストラクタ"""
        self.history = []
    
    def add(self, a: float, b: float) -> float:
        """
        2つの数値を加算します
        
        Args:
            a (float): 最初の数値
            b (float): 2番目の数値
        
        Returns:
            float: 加算結果
        
        Examples:
            >>> calc = Calculator()
            >>> calc.add(10, 20)
            30.0
        """
        result = a + b
        self.history.append(f"{a} + {b} = {result}")
        return result
    
    def subtract(self, a: float, b: float) -> float:
        """
        aからbを減算します
        
        Args:
            a (float): 減算される数値
            b (float): 減算する数値
        
        Returns:
            float: 減算結果
        """
        result = a - b
        self.history.append(f"{a} - {b} = {result}")
        return result
    
    def multiply(self, a: float, b: float) -> float:
        """
        2つの数値を乗算します
        
        Args:
            a (float): 最初の数値
            b (float): 2番目の数値
        
        Returns:
            float: 乗算結果
        """
        result = a * b
        self.history.append(f"{a} * {b} = {result}")
        return result
    
    def divide(self, a: float, b: float) -> float:
        """
        aをbで除算します
        
        Args:
            a (float): 除算される数値
            b (float): 除算する数値
        
        Returns:
            float: 除算結果
        
        Raises:
            ValueError: bが0の場合
        """
        if b == 0:
            raise ValueError("0で除算することはできません")
        result = a / b
        self.history.append(f"{a} / {b} = {result}")
        return result
    
    def get_history(self) -> list:
        """
        計算履歴を取得します
        
        Returns:
            list: これまでの計算履歴のリスト
        """
        return self.history.copy()
    
    def clear_history(self):
        """計算履歴をクリアします"""
        self.history.clear()

Classes

class Calculator

シンプルな計算機クラス

このクラスは基本的な算術演算を実行します。

Examples

>>> calc = Calculator()
>>> calc.add(2, 3)
5
>>> calc.multiply(4, 5)
20

Calculatorクラスのコンストラクタ

Expand source code
class Calculator:
    """
    シンプルな計算機クラス
    
    このクラスは基本的な算術演算を実行します。
    
    Examples:
        >>> calc = Calculator()
        >>> calc.add(2, 3)
        5
        >>> calc.multiply(4, 5)
        20
    """
    
    def __init__(self):
        """Calculatorクラスのコンストラクタ"""
        self.history = []
    
    def add(self, a: float, b: float) -> float:
        """
        2つの数値を加算します
        
        Args:
            a (float): 最初の数値
            b (float): 2番目の数値
        
        Returns:
            float: 加算結果
        
        Examples:
            >>> calc = Calculator()
            >>> calc.add(10, 20)
            30.0
        """
        result = a + b
        self.history.append(f"{a} + {b} = {result}")
        return result
    
    def subtract(self, a: float, b: float) -> float:
        """
        aからbを減算します
        
        Args:
            a (float): 減算される数値
            b (float): 減算する数値
        
        Returns:
            float: 減算結果
        """
        result = a - b
        self.history.append(f"{a} - {b} = {result}")
        return result
    
    def multiply(self, a: float, b: float) -> float:
        """
        2つの数値を乗算します
        
        Args:
            a (float): 最初の数値
            b (float): 2番目の数値
        
        Returns:
            float: 乗算結果
        """
        result = a * b
        self.history.append(f"{a} * {b} = {result}")
        return result
    
    def divide(self, a: float, b: float) -> float:
        """
        aをbで除算します
        
        Args:
            a (float): 除算される数値
            b (float): 除算する数値
        
        Returns:
            float: 除算結果
        
        Raises:
            ValueError: bが0の場合
        """
        if b == 0:
            raise ValueError("0で除算することはできません")
        result = a / b
        self.history.append(f"{a} / {b} = {result}")
        return result
    
    def get_history(self) -> list:
        """
        計算履歴を取得します
        
        Returns:
            list: これまでの計算履歴のリスト
        """
        return self.history.copy()
    
    def clear_history(self):
        """計算履歴をクリアします"""
        self.history.clear()

Methods

def add(self, a: float, b: float) ‑> float

2つの数値を加算します

Args

a : float
最初の数値
b : float
2番目の数値

Returns

float
加算結果

Examples

>>> calc = Calculator()
>>> calc.add(10, 20)
30.0
Expand source code
def add(self, a: float, b: float) -> float:
    """
    2つの数値を加算します
    
    Args:
        a (float): 最初の数値
        b (float): 2番目の数値
    
    Returns:
        float: 加算結果
    
    Examples:
        >>> calc = Calculator()
        >>> calc.add(10, 20)
        30.0
    """
    result = a + b
    self.history.append(f"{a} + {b} = {result}")
    return result
def clear_history(self)

計算履歴をクリアします

Expand source code
def clear_history(self):
    """計算履歴をクリアします"""
    self.history.clear()
def divide(self, a: float, b: float) ‑> float

aをbで除算します

Args

a : float
除算される数値
b : float
除算する数値

Returns

float
除算結果

Raises

ValueError
bが0の場合
Expand source code
def divide(self, a: float, b: float) -> float:
    """
    aをbで除算します
    
    Args:
        a (float): 除算される数値
        b (float): 除算する数値
    
    Returns:
        float: 除算結果
    
    Raises:
        ValueError: bが0の場合
    """
    if b == 0:
        raise ValueError("0で除算することはできません")
    result = a / b
    self.history.append(f"{a} / {b} = {result}")
    return result
def get_history(self) ‑> list

計算履歴を取得します

Returns

list
これまでの計算履歴のリスト
Expand source code
def get_history(self) -> list:
    """
    計算履歴を取得します
    
    Returns:
        list: これまでの計算履歴のリスト
    """
    return self.history.copy()
def multiply(self, a: float, b: float) ‑> float

2つの数値を乗算します

Args

a : float
最初の数値
b : float
2番目の数値

Returns

float
乗算結果
Expand source code
def multiply(self, a: float, b: float) -> float:
    """
    2つの数値を乗算します
    
    Args:
        a (float): 最初の数値
        b (float): 2番目の数値
    
    Returns:
        float: 乗算結果
    """
    result = a * b
    self.history.append(f"{a} * {b} = {result}")
    return result
def subtract(self, a: float, b: float) ‑> float

aからbを減算します

Args

a : float
減算される数値
b : float
減算する数値

Returns

float
減算結果
Expand source code
def subtract(self, a: float, b: float) -> float:
    """
    aからbを減算します
    
    Args:
        a (float): 減算される数値
        b (float): 減算する数値
    
    Returns:
        float: 減算結果
    """
    result = a - b
    self.history.append(f"{a} - {b} = {result}")
    return result