title: Conditional statements in a class, but outside of scope of the function
body: <p>We know that with notation:</p>
  
  <pre><code>class Foo(object):
  
      a = 1
  
      def __init__(self):
          self.b = 2
  
      def c(self):
          print('c')
  </code></pre>
  
  <p>we can create static variable <code>Foo.a</code>, 'normal' variable <code>b</code>, which will be available after creating and instance of <code>Foo</code>, and method <code>c</code></p>
  
  <p>Today I was really surprised, that I can use conditional statements in a class, but outside of scope of the function</p>
  
  <pre><code>class C():
      if True:
           a = 1
      b = 2
  </code></pre>
  
  <p>Languages like C++/Java, taught me that legal notation is similar to:</p>
  
  <pre><code>class Name():
      variable = &lt;expression&gt;
  </code></pre>
  
  <p>Could you describe other rules, which refer to this specific scope? How I should name this scope?</p>