title: How to convert this example from python2 to python3
body: <p>I'm trying to convert a working example in github from python2 to python3 and running into a problem I don't understand.</p>
  
  <p>The original is <a href="https://gist.github.com/EugeneBakin/76c8f9bcec5b390e45df" rel="nofollow noreferrer">https://gist.github.com/EugeneBakin/76c8f9bcec5b390e45df</a>
  I apply the following patch and get an error message about too many arguments to the SampleApp <strong>init</strong> method.  Since I don't understand why the original had its *args and **kwargs when the only call had no arguments at all, something is not adding up for me.  But it worked in python2, so I was hoping it would work in python3 as well, because I recognize that usage as useful.</p>
  
  <p>However, it may not matter because the stack trace on the error message does not include that call, or any call for that matter.  Another puzzle.</p>
  
  <p>I want to solve this without just blindly removing arguments because I may need some when I go to apply this in my real use case.</p>
  
  <p>I also want to remove importing as *, as I regard it as dangerous and as hiding information useful to a reader.</p>
  
  <p>The patch:</p>
  
  <pre><code>--- VSFrame.py  2017-12-16 14:30:33.458923856 -0800
  +++ VSFrame3.py 2017-12-16 15:01:21.914423486 -0800
  @@ -1,21 +1,21 @@
  -#!/usr/bin/python
  +#!/usr/bin/env python3
   # -*- coding: utf-8 -*-
  -from Tkinter import *   # from x import * is bad practice
  -from ttk import *
  +import tkinter as tk
  +import tkinter.ttk as ttk
  
   # http://tkinter.unpythonic.net/wiki/VerticalScrolledFrame
  
  -class VerticalScrolledFrame(Frame):
  +class VerticalScrolledFrame(ttk.Frame):
       """A pure Tkinter scrollable frame that actually works!
       * Use the 'interior' attribute to place widgets inside the scrollable frame
       * Construct and pack/place/grid normally
       * This frame only allows vertical scrolling
       """
       def __init__(self, parent, *args, **kw):
  -        Frame.__init__(self, parent, *args, **kw)            
  +        super().__init__(self, parent, *args, **kw)            
  
           # create a canvas object and a vertical scrollbar for scrolling it
  -        vscrollbar = Scrollbar(self, orient=VERTICAL)
  +        vscrollbar = ttk.Scrollbar(self, orient=VERTICAL)
           vscrollbar.pack(fill=Y, side=RIGHT, expand=FALSE)
           canvas = Canvas(self, bd=0, highlightthickness=0,
                           yscrollcommand=vscrollbar.set)
  @@ -51,9 +51,9 @@
  
   if __name__ == "__main__":
  
  -    class SampleApp(Tk):
  +    class SampleApp(tk):
           def __init__(self, *args, **kwargs):
  -            root = Tk.__init__(self, *args, **kwargs)
  +            root = tk.__init__(self, *args, **kwargs)
  
  
               self.frame = VerticalScrolledFrame(root)
  </code></pre>
  
  <p>And after the comment by Willem (thanks for that), it is now</p>
  
  <pre><code>--- VSFrame.py  2017-12-16 14:30:33.458923856 -0800
  +++ VSFrame3.py 2017-12-16 16:04:00.938380716 -0800
  @@ -1,21 +1,21 @@
  -#!/usr/bin/python
  +#!/usr/bin/env python3
   # -*- coding: utf-8 -*-
  -from Tkinter import *   # from x import * is bad practice
  -from ttk import *
  +import tkinter as tk
  +import tkinter.ttk as ttk
  
   # http://tkinter.unpythonic.net/wiki/VerticalScrolledFrame
  
  -class VerticalScrolledFrame(Frame):
  +class VerticalScrolledFrame(ttk.Frame):
       """A pure Tkinter scrollable frame that actually works!
       * Use the 'interior' attribute to place widgets inside the scrollable frame
       * Construct and pack/place/grid normally
       * This frame only allows vertical scrolling
       """
       def __init__(self, parent, *args, **kw):
  -        Frame.__init__(self, parent, *args, **kw)            
  +        super().__init__(self, parent, *args, **kw)            
  
           # create a canvas object and a vertical scrollbar for scrolling it
  -        vscrollbar = Scrollbar(self, orient=VERTICAL)
  +        vscrollbar = ttk.Scrollbar(self, orient=VERTICAL)
           vscrollbar.pack(fill=Y, side=RIGHT, expand=FALSE)
           canvas = Canvas(self, bd=0, highlightthickness=0,
                           yscrollcommand=vscrollbar.set)
  @@ -51,10 +51,9 @@
  
   if __name__ == "__main__":
  
  -    class SampleApp(Tk):
  +    class SampleApp(tk.Tk):
           def __init__(self, *args, **kwargs):
  -            root = Tk.__init__(self, *args, **kwargs)
  -
  +            root = tk.TK.__init__(self, *args, **kwargs)
  
               self.frame = VerticalScrolledFrame(root)
               self.frame.pack()
  </code></pre>