3.9 KiB
3.9 KiB
In [4]:
import json
import numpy as np
In [14]:
dict_ = {'a': 3.1, 'b': 4.2}
with open('my_class.json', 'w') as f:
json.dump(dict_, f)
In [20]:
class MyClass:
def __init__(self, a, b):
"""The basic constructor takes 'raw' values."""
self.a = a
self.b = b
@classmethod
def from_random_values(cls, random_state=np.random):
"""Create a MyClass instance with random parameters."""
a = random_state.rand()
b = random_state.randn()
return cls(a, b)
@classmethod
def from_json(cls, json_fname):
"""Create a MyClass instance with parameters read form a json file."""
with open(json_fname, 'r') as f:
dict_ = json.load(f)
a = dict_['a']
b = dict_['b']
return cls(a, b)
my_class = MyClass.from_random_values()
In [23]:
my_class = MyClass.from_random_values()
my_class.__dict__
Out[23]:
In [24]:
my_class = MyClass.from_json('my_class.json')
my_class.__dict__
Out[24]:
In [ ]:
In [ ]: