title: missing 1 required positional argument:'self'
body: <p>here is my code:</p>
  <pre><code>class Email_Stuff():
      def __init__(self):
          self.emailaddr = None
          self.recipaddr = None
          self.EmailUser = None
          self.EmailPass = None
      def From_Email(self):
          self.emailaddr = turtle.textinput(&quot;Your Email&quot;, &quot;What is your email address?&quot;)
      def To_Email(self):
          self.recipaddr = turtle.textinput(&quot;Client Email&quot;, &quot;What is your client's email address?&quot;)
      def Email_Username(self):
          self.EmailUser = turtle.textinput(&quot;Your Email Username&quot;, &quot;What is your email username?&quot;)
      def Email_Password(self):
          self.EmailPass = turtle.textinput(&quot;Your Email Password&quot;, &quot;What is your email Password?&quot;)
      def Send_Email(self):
          print (self.emailaddr) #these are here for me to see if it is the right input
          print(self.recipaddr)
          print(self.EmailUser)
          print(self.EmailPass)
          import smtplib
          server = smtplib.SMTP('smtp.gmail.com', 587)
          server.login((self.EmailUser),(self.EmailPass))
          self.message = &quot;Python Test Email&quot;
          server.sendmail(self.emailaddr,self.recipaddr,self.message)
  </code></pre>
  <p>I have a button connected to Email_Stuff.From_Email and a button connected to Email_Stuff.From_Email etc...</p>
  <p>Whenever I press the button to open up the turtle window it gives me this error:</p>
  <pre><code>Exception in Tkinter callback
  Traceback (most recent call last):
  Fileline &quot;/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py&quot;, 1475, in __call__
  return self.func(*args)
  TypeError: From_Email() missing 1 required positional argument: 'self'
  </code></pre>
  <p>But then if I take out the selfs from the From_Email and To_Email etc..</p>
  <pre><code>class Email_Stuff():
      def __init__(self):
          self.emailaddr = None
          self.recipaddr = None
          self.EmailUser = None
          self.EmailPass = None
      def From_Email():
          self.emailaddr = turtle.textinput(&quot;Your Email&quot;, &quot;What is your email address?&quot;)
      def To_Email():
          self.recipaddr = turtle.textinput(&quot;Client Email&quot;, &quot;What is your client's email address?&quot;)
      def Email_Username():
          self.EmailUser = turtle.textinput(&quot;Your Email Username&quot;, &quot;What is your email username?&quot;)
      def Email_Password():
          self.EmailPass = turtle.textinput(&quot;Your Email Password&quot;, &quot;What is your email Password?&quot;)
      def Send_Email(self):
          print (self.emailaddr) #these are here for me to see if it is the right input
          print(self.recipaddr)
          print(self.EmailUser)
          print(self.EmailPass)
          import smtplib
          server = smtplib.SMTP('smtp.gmail.com', 587)
          server.login((self.EmailUser),(self.EmailPass))
          self.message = &quot;Python Test Email&quot;
          server.sendmail(self.emailaddr,self.recipaddr,self.message)
  </code></pre>
  <p>I get this error message (this isnt all of it):</p>
  <pre><code>    self.emailaddr = turtle.textinput(&quot;Your Email&quot;, &quot;What is your email address?&quot;)
      NameError: global name 'self' is not defined
  </code></pre>
  <p>here is the button code:</p>
  <pre><code>Email_Button = Button(root, text='Enter Your Email', command=Email_Stuff.From_Email)
  Email_Button.pack()
  Email_Button.place(x=250,y=210)
  </code></pre>
  <p>I'm sorry for the long post</p>