Eine sehr persönliche Notiz. Hinzufügen. Teilen Sie, wenn es länger wird.
main
Der Name, der \ _ \ _ name \ _ \ _ zugewiesen wird, wenn er als Skript ausgeführt wird
sample.py
def main():
print 'This function only run when that is main.'
if __name__ == '__main__':
main()
eq ne lt le gt ge
Dies bedeutet eine Funktion namens Erweiterter Vergleich. Alle Objekte haben und werden auch von Vergleichsoperatoren aufgerufen. "x> y" und "x .__ gt__ (y)" bedeuten dieselbe Operation.
Alle sechs müssen definiert werden, um zu definieren, wie Objekte verglichen werden. Meistens wird es also mit einer vordefinierten Vergleichsoperation definiert Durch total_ordering wird eine von [lt, le, gt, ge] und insgesamt zwei Gl Wenn Sie definieren Der Rest wird automatisch erledigt.
Zitat: Python-Dokumentation
total_ordering
@total_ordering
class Student:
def __eq__(self, other):
return ((self.lastname.lower(), self.firstname.lower()) ==
(other.lastname.lower(), other.firstname.lower()))
def __lt__(self, other):
return ((self.lastname.lower(), self.firstname.lower()) <
(other.lastname.lower(), other.firstname.lower()))
Sie verwenden "==" in der Definition von "def eq (self, other)", dh "eq"
Weil <
, dh __lt __
in der Definitionsanweisung von def __lt__ (self, other)
verwendet wird
Der Rest wird das Gleiche tun.
Recommended Posts