import numpy as np
class BernoulliDistribution():
    def __init__(self, seed = 0, p = 0.5):
        self._rng = np.random.default_rng(seed)
        self._p = p

    def rvs(self, size = 1):
        return self._rng.binomial(1, self._p, size = size)
B1 = BernoulliDistribution()
B1.rvs(size = 10)

p = 0.25
seed = 155
B2 = BernoulliDistribution(seed = seed, p = 0.77)
B2.rvs(size = 22)
array([1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0])