[Python] "__init__" looks so ugly in Python. Is there another way to code this construct?

Discussão em 'Python' iniciado por Stack, Junho 17, 2025.

  1. Stack

    Stack Membro Participativo

    I have used this in my code, but "underscore underscore init underscore underscore" looks so ugly in Python, because it is not clear at a glance as to whether these prefixes and suffixes are one, two or three characters. Is there another way to code this construct without the double underscore? For example:

    class MyForm(forms.Form):
    foo = forms.CharField()
    def __init__(self, *args, **kwargs):
    super(MyForm, self).__init__(*args, **kwargs)
    self.bar = bar(self)


    Annoyingly this code does not work, so obviously the underscore plays an essential role:

    class MyForm(forms.Form):
    foo = forms.CharField()
    def init(self, *args, **kwargs):
    super(MyForm, self).init(*args, **kwargs)
    self.bar = bar(self)


    What is the purpose of this syntax?

    Continue reading...

Compartilhe esta Página