I am trying to figure out why some simple changes can mess up a program in any programming language. It can get annoying and make you rage.
Here is an example of a working code:
class Person():
    def __init__(self):
        print("New Person")
        
p = Person()
class Francis(Person):
    def __init__(self):
        super().__init__()
        print("My name is Francis")
        
f = Francis()
As you can see, it gave an expected result.
New Person
My name is Francis
But a slight change will trigger the system and make a program go wrong.
For example:
class Person():
    def __init__(self):
        print("New Person")
p = Person()
class Francis(Person):
    def __init__(self):
        super().__init__():
            print("My name is Francis")
f = Francis()
That small change already made the code faulty. The error is invalid syntax. Honestly, how is this possible? I'm honestly surprised to see that a small change makes a big difference in the world of programming (yes, including Python).
 
    