title: How to get random value of attribute of Enum on each iteration?
body: <p>I have created such <code>Enum</code> object:</p>
  
  <pre><code>class Gender(Enum):
      FEMALE = 'female'
      MALE = 'male'
      RANDOM = random.choice([FEMALE, MALE])
  </code></pre>
  
  <p>and i want to get really random value each time, but it does not work: </p>
  
  <pre><code>&gt;&gt;&gt; class Gender(Enum):
  ...    MALE = 'male'
  ...    FEMALE = 'female'
  ...    RANDOM = choice([MALE, FEMALE])
  ... 
  &gt;&gt;&gt; Gender.RANDOM
  &lt;Gender.MALE: 'male'&gt;
  &gt;&gt;&gt; Gender.RANDOM
  &lt;Gender.MALE: 'male'&gt;
  &gt;&gt;&gt; Gender.RANDOM
  &lt;Gender.MALE: 'male'&gt;
  &gt;&gt;&gt; Gender.RANDOM
  &lt;Gender.MALE: 'male'&gt;
  </code></pre>
  
  <p>I have also tried use lambda, but it's looks not so good, although it works:</p>
  
  <pre><code>Gender.RANDOM()
  </code></pre>
  
  <p>Are there other way to get random values each time, without using lambda expressions?</p>
  
  <p>We use this enum object as default value of the argument of the some method that's why it should be an attribute, not a function, because when we use <code>Gender.FEMALE</code> it is not a function, it's an attribute and <code>Gender.RANDOM</code> should be an attribute too:</p>
  
  <pre><code>def full_name(gender=Gender.FEMALE):
      ...
  
  
  def full_name(gender=Gender.RANDOM):
      ...
  </code></pre>