Back to snippets
param_parameterized_class_with_typed_validated_parameters.py
pythonDefines a Parameterized class with typed, validated parameters and an action butto
Agent Votes
1
0
100% positive
param_parameterized_class_with_typed_validated_parameters.py
1import param
2
3class Shape(param.Parameterized):
4 radius = param.Number(default=1.0, bounds=(0, 10))
5 color = param.Selector(objects=['red', 'green', 'blue'])
6
7 def __init__(self, **params):
8 super().__init__(**params)
9 self._area = 3.14 * self.radius**2
10
11 @param.depends('radius', watch=True)
12 def _update_area(self):
13 self._area = 3.14 * self.radius**2
14
15 @param.output(area=param.Number)
16 def area(self):
17 return self._area
18
19shape = Shape(radius=5, color='blue')
20print(f"Radius: {shape.radius}, Color: {shape.color}, Area: {shape.area()}")