Funktionsüberladung in Python

Da ich C ++ lerne, gibt es kein Problem mit mehreren Konstruktoren in der C ++ - Programmierung. 
Später, nachdem ich darüber nachgedacht hatte, wurde mir plötzlich klar, dass es in Python keine switch-Anweisung gibt. Um die Flexibilität voll auszunutzen, verwenden Sie stattdessen ein Wörterbuch 
, um den Code präzise zu halten. Es gibt nur einen Konstruktor Die längste Parameterliste deckt andere Konstruktoren ab. 
Wenn Parameter mit variabler Länge benötigt werden, wird der Standardwert verwendet, um die Zahl zu erreichen, dh nur eine Funktion mit demselben Namen ist ausreichend. Der Python-Code ist wirklich präzise, 
aber der Nachteil ist, dass wenn Während der Kompilierung werden keine Aufrufe ausgeführt, auch wenn mehrere überladene Funktionen definiert sind. Es wird kein Fehler gemeldet. Nur wenn weniger Aufrufparameter vorhanden sind. Wird gemeldet, wenn die Funktion überlastet ist 
 


class stu(object):
    print ('stu')

    #默认值构造函数
    def __init__(self, stuID,stuType='Primary'):
        self.ID=stuID
        self.Type=stuType

    def display(self):
        print(self.ID,self.Type)

#使用默认值实现构造函数的多态
stu1=stu(100)
stu2=stu(200,"midschool")
#stu.display()  #不能直接调用类的一般方法
stu1.display()
stu2.display()

 

Ich denke du magst

Origin blog.csdn.net/sichuanpb/article/details/112692868
Empfohlen
Rangfolge