This is how I might construct objects with a random set of attributes, given your definitions:
import random
possible_attributes= ['small', 'black', 'scary', 'smelly', 'happy']
class Person(object):
def __init__(self):
self.attributes = random.sample(possible_attributes, random.randint(0, len(possible_attributes)))
This selects a random number of attributes from your list of possible attributes.
>>> print Person().attributes
['small', 'smelly']
>>> print Person().attributes
['scary', 'smelly', 'happy']