arguments not being passed through render() argument after * must be an iterable, not pygame.Surface
<p>I'm trying to work with pygame and am attempting to create a class like so.</p>

<pre><code>import pygame
from threading import Thread

gameExit = True

class states:

    def __init__(self):

        gameDisplay = pygame.display.set_mode((800, 600))
        pygame.display.set_caption('test')

        clock = pygame.time.Clock()

        renderThread = Thread(target=self.render, args =(gameDisplay))
        updateThread = Thread(target=self.update, args = (clock))
        updateThread.start()
        renderThread.start()

    def update(self, clock):
        global gameExit
        while gameExit:
            print('update')
            clock.tick(30)


    def render(self, gamedisplay):
        global gameExit
        print('render')
        while gameExit:
            print('render')
            gameDisplay.fill([255, 255, 255])  # clearing



            pygame.display.update()#update


state = states()
</code></pre>

<p>the error code is render() argument after * must be an iterable, not pygame.Surface why won't it pass gameDisplay through / how can I do that?</p>

<p>Here's the full traceback:</p>

<pre><code>Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\Users\Marc Frame\AppData\Local\Programs\Python\Python35\lib\threading.py", line 914, in _bootstrap_inner
    self.run()
  File "C:\Users\Marc Frame\AppData\Local\Programs\Python\Python35\lib\threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
TypeError: update() argument after * must be an iterable, not Clock

Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\Marc Frame\AppData\Local\Programs\Python\Python35\lib\threading.py", line 914, in _bootstrap_inner
    self.run()
  File "C:\Users\Marc Frame\AppData\Local\Programs\Python\Python35\lib\threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
TypeError: render() argument after * must be an iterable, not pygame.Surface
</code></pre>