From 22abf78a2e4e5ea5431263f18db51675f288888e Mon Sep 17 00:00:00 2001 From: Abimbola Ronald Date: Fri, 21 Jul 2023 23:57:12 -0700 Subject: [PATCH] Task 3 --- python-classes/3-square.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 python-classes/3-square.py diff --git a/python-classes/3-square.py b/python-classes/3-square.py new file mode 100755 index 0000000..dc12a7b --- /dev/null +++ b/python-classes/3-square.py @@ -0,0 +1,22 @@ +#!/usr/bin/python3 +"""Define a class Square.""" + + +class Square: + """A class that defines a square""" + + def __init__(self, size=0): + """Initialize a new Square. + + Args: + size (int): The size of the square. + """ + if not isinstance(size, int): + raise TypeError("size must be an integer") + elif size < 0: + raise ValueError("size must be >= 0") + self.__size = size + + def area(self): + """Public instance method that returns the current square area""" + return (self.__size**2)