In cases like this, I tend to prefer computing the value, rather than pre-computing it in __init__. It reduce duplication of data storage, which in turn makes it a little less likely to get into an inconsistent state.