I was trying to get a handle on the widgets created from a
import panel as pn import param class Test(param.Parameterized): p1 = param.List([1,2,3]) t = Test() w = pn.Param(t.param)
Naturally one would want to be able to refer to a widget by name, where the widget() method seems to be designed to do.
However, the widget returned from the method is not the original widget!
>>> print(id(w.widget('p1'))) 140142671301936 >>> print(id(w)) 140142671331792
The alternative, which is to grab the widget by position, feels fragile. So I’m still looking for a way to get widgets by name.
(This is a bit surprising to me and took me a long while to realize. I might go through its source code later to figure out what’s going on. But I wanted to do a short post to share what got me.)