-
Notifications
You must be signed in to change notification settings - Fork 2
issue with using property decorator #2
Copy link
Copy link
Open
Description
We store and log our run configuration as Params.
When using property decorator, we noticed that changes to dependent variables are not reflected. Observe param_h values in the following example based on AnotherSubParams test class in https://github.com/kpe/py-params/blob/master/tests/test_subclassing.py
def test_param_change():
asp = AnotherSubParams()
print("Before modification of param_d")
print(f"Printing instance:{asp}")
print(f"Accessing param.d: {asp.param_d}")
print(f"Accessing param.h: {asp.param_h}")
asp.param_d = "FIND_ME"
print("After modification of param_d: aD => FIND_ME")
print(f"Printing instance: {asp}")
print(f"Accessing param.d: {asp.param_d}")
print(f"Accessing param.h: {asp.param_h}")
print(f"Printing instance: {asp}")
generates
Before modification of param_d
Printing instance:{'param_a': 'SBBa_ASg_ASh_aDMSc_ASg_ASh_aD', 'param_b': 'b', 'param_c': 'MSc_ASg_ASh_aD', 'param_d': 'aD', 'param_e': 'aE', 'param_f': 'SBf', 'param_g': 'ASg_ASh_aD', 'param_h': 'ASh_aD', 'param_j': 'MSj'}
Accessing param.d: aD
Accessing param.h: ASh_aD
After modification of param_d: aD => FIND_ME
Printing instance: {'param_a': 'SBBa_ASg_ASh_aDMSc_ASg_ASh_aD', 'param_b': 'b', 'param_c': 'MSc_ASg_ASh_aD', 'param_d': 'FIND_ME', 'param_e': 'aE', 'param_f': 'SBf', 'param_g': 'ASg_ASh_aD', 'param_h': 'ASh_aD', 'param_j': 'MSj'}
Accessing param.d: FIND_ME
Accessing param.h: ASh_FIND_ME
Printing instance: {'param_a': 'SBBa_ASg_ASh_aDMSc_ASg_ASh_aD', 'param_b': 'b', 'param_c': 'MSc_ASg_ASh_aD', 'param_d': 'FIND_ME', 'param_e': 'aE', 'param_f': 'SBf', 'param_g': 'ASg_ASh_aD', 'param_h': 'ASh_aD', 'param_j': 'MSj'}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels