Files
scgenerator/tests.py
2021-10-19 17:15:02 +02:00

46 lines
914 B
Python

from __future__ import annotations
from collections import defaultdict
class Parameter:
registered_params = defaultdict(dict)
def __init__(self, default_value, display_suffix=""):
self.value = default_value
self.display_suffix = display_suffix
def __set_name__(self, owner, name):
self.name = name
self.registered_params[owner.__name__][name] = self
def __get__(self, instance, owner):
return self.value
def __set__(self, instance, value):
self.value = value
def display(self):
return str(self.value) + " " + self.display_suffix
class A:
x = Parameter("lol")
y = Parameter(56.2)
class B:
x = Parameter(slice(None))
opt = None
def main():
print(Parameter.registered_params["A"])
print(Parameter.registered_params["B"])
a = A()
a.x = 5
print(a.x)
if __name__ == "__main__":
main()