add logging and main function to fancymath
This commit is contained in:
36
src/fancymath/__main__.py
Normal file
36
src/fancymath/__main__.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import logging
|
||||||
|
|
||||||
|
root_logger = logging.getLogger()
|
||||||
|
|
||||||
|
fmt = "%(asctime)s %(levelname)-8.8s [%(name)s:%(lineno)s] %(message)s"
|
||||||
|
formatter = logging.Formatter(fmt)
|
||||||
|
|
||||||
|
sh = logging.StreamHandler()
|
||||||
|
sh.setFormatter(formatter)
|
||||||
|
sh.setLevel(logging.INFO)
|
||||||
|
|
||||||
|
fh = logging.FileHandler("fancymath.log")
|
||||||
|
fh.setFormatter(formatter)
|
||||||
|
fh.setLevel(logging.NOTSET)
|
||||||
|
|
||||||
|
root_logger.addHandler(sh)
|
||||||
|
root_logger.addHandler(fh)
|
||||||
|
|
||||||
|
root_logger.setLevel(logging.NOTSET)
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
logger.info("Welcome to FancyMath, a silly library for demonstrations.")
|
||||||
|
|
||||||
|
from fancymath.vector import Vector
|
||||||
|
|
||||||
|
v1 = Vector(1,2,3)
|
||||||
|
v2 = Vector(2,3,4)
|
||||||
|
|
||||||
|
v3 = v1.dot(v2)
|
||||||
|
|
||||||
|
logger.info(f"{v1=}")
|
||||||
|
logger.info(f"{v2=}")
|
||||||
|
logger.info(f"{v3=}")
|
||||||
|
|
||||||
|
v4 = v2.dot([1,2,3])
|
||||||
@@ -1,8 +1,11 @@
|
|||||||
"""This module defines the Vector class. """
|
"""This module defines the Vector class. """
|
||||||
|
import logging
|
||||||
from math import acos, sqrt
|
from math import acos, sqrt
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class Vector(object):
|
class Vector(object):
|
||||||
def __init__(self, x, y, z):
|
def __init__(self, x, y, z):
|
||||||
"""Constructor method."""
|
"""Constructor method."""
|
||||||
@@ -12,6 +15,9 @@ class Vector(object):
|
|||||||
|
|
||||||
def dot(self, v):
|
def dot(self, v):
|
||||||
"""Returns the dot product with Vector *v*."""
|
"""Returns the dot product with Vector *v*."""
|
||||||
|
if not isinstance(v, self.__class__):
|
||||||
|
logger.error(f"Expected an instance of {self.__class__}, but got {type(v)} instead.")
|
||||||
|
return None
|
||||||
d = self.x * v.x + self.y * v.y + self.z * v.z
|
d = self.x * v.x + self.y * v.y + self.z * v.z
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user