title: Why do I get an error when passing input value into function parameter but not when statically assigning it?
body: <p>When I manually type &quot;alex&quot; into the &quot;printPeople&quot; parameter, the code prints out fine.</p>
  <pre><code>class people:  
      name = ''
      age = ''
  
  alex = people()
  alex.name = 'Alex'
  alex.age = '25'
  
  clarance = people()
  clarance.name = 'Clarance'
  clarance.age = '24'
  
  def printPeople(person):
      print('-' * 20)
      print('Name:', person.name)
      print('Age:', person.age)
      print('-' * 20)
  
  printPeople(alex)
  </code></pre>
  <p>However, if I try using an input function to manually choose a name:</p>
  <pre><code>class people:  
  name = ''
  age = ''
  
  alex = people()
  alex.name = 'Alex'
  alex.age = '25'
  
  clarance = people()
  clarance.name = 'Clarance'
  clarance.age = '24'
  
  def printPeople(person):
      print('-' * 20)
      print('Name:', person.name)
      print('Age:', person.age)
      print('-' * 20)
  
  userInput = input('Enter name: ')
  printPeople(userInput)
  </code></pre>
  <p>I get an error:</p>
  <blockquote>
  <p>AttributeError: 'str' object has no attribute 'name'</p>
  </blockquote>