How do these 2 classes differ?
class A():     x=3  class B():     def __init__(self):         self.x=3   Is there any significant difference?
A.x is a class variable. B's self.x is an instance variable.
i.e. A's x is shared between instances.
It would be easier to demonstrate the difference with something that can be modified like a list:
#!/usr/bin/env python  class A:     x = []     def add(self):         self.x.append(1)  class B:     def __init__(self):         self.x = []     def add(self):         self.x.append(1)  x = A() y = A() x.add() y.add() print("A's x:", x.x)  x = B() y = B() x.add() y.add() print("B's x:", x.x)   Output
A's x: [1, 1] B's x: [1] 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With