Skip to content

Lunarmagpie/functional-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python lib that allows you to create classes by creating functions

import functional_python

@functional_python.functional_class
def Class():
    def __init__(self, number):
        self.number = number

    def method(self):
        return "base class"

    # Descriptors work
    @property
    def prop(self):
        return 10

    def add(self, number):
        return self.number + number

@functional_python.functional_class(base=Class)
def SubClass():
    def __init__(self):
        functional_python.super(self).__init__(15)

    def subclass_method(self):
        return "subclass"


cls = Class(10)

print(cls.number)  # 10
print(cls.method())  # "base_class"
print(cls.prop)  # 10
print(cls.add(5))  # 15

sub = SubClass()

print(sub.number)  # 15
print(sub.add(5))  # 20
print(sub.subclass_method())  # subclass

About

Turns python into a functional language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages