Python class definition syntax (bracket) : <p>I found most guys said there is no difference with or without bracket in class definition. But my codes output different results for it. </p>

<pre><code>#!/usr/bin/env python
class Tree(object):
    def __init__(self):
        self.left = None
        self.right = None
        self.data = None

root = Tree()
root.data = "root"
root.left = Tree()
root.left.data = "left"
root.right = Tree()
root.right.data = "right"

print(root.left.data)

Output: left

While

#!/usr/bin/env python
class Tree:
    def __init__(self):
        self.left = None
        self.right = None
        self.data = None

root = Tree
root.data = "root"
root.left = Tree
root.left.data = "left"
root.right = Tree
root.right.data = "right"

print(root.left.data)

Output : right
</code></pre>

<p>So what is the problem behind this </p>
