title: Why do some methods use dot notation and others don't?
body: <p>So, I'm just beginning to learn Python (using Codecademy), and I'm a bit confused.</p>
  
  <p>Why are there some methods that take an argument, and others use the dot notation?</p>
  
  <p>len() takes an arugment, but won't work with the dot notation:</p>
  
  <pre><code>&gt;&gt;&gt; len("Help")
  4
  &gt;&gt;&gt;"help".len()
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  AttributeError: 'str' object has no attribute 'len'
  </code></pre>
  
  <p>And likewise:</p>
  
  <pre><code>&gt;&gt;&gt;"help".upper()
  'HELP'
  &gt;&gt;&gt;upper("help")
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  NameError: name 'upper' is not defined
  </code></pre>