Die commom Art und Weise zu testen Variable für NoneType
prüft zu vergleichen, wenn sie auf None
Singletone Bezug ist:Der richtige Weg, eine Variable mit None
test_var is None
Dieser Ansatz wird als der einzige Weg empfohlen zu prüfen, für None
nach zu PEP-8:
Vergleiche zu Singletons wie None immer getan werden sollte, mit oder ist nicht, niemals die Gleichheitsoperatoren.
Obwohl manchmal finde ich den folgenden Test in verschiedenen Quellen:
isinstance(test, type(None))
Auf diese Weise OK aussieht, aber ich kann nicht ganz verstehen, warum einfach und lesbar Konstruktion kann mit isinstance
ersetzt werden. Ist es in einigen Fällen sinnvoller oder vielleicht auch auf den Codestyle bezogen?
UPD: die einzige NoneType mit isinstance
Überprüfung finde ich wirklich nützlich (bisher):
isinstance(None, (NoneType, str, float))
Klingt, als hätte ein Programmierer 'NoneType' in einer Fehlermeldung gesehen und entschieden, das zu testen, ohne das Problem wirklich zu verstehen. Es gibt keinen Vorteil. – user2357112
https://media1.tenor.com/images/fb50f8dd802894fce6bdafef59ddd84d/tenor.gif –
Sie können auch 'type (test) == None .__ class__' eingeben und es würde funktionieren. Der Punkt ist, ein Entwickler ist frei, die Lösung in jeder möglichen Weise zu erreichen, es bedeutet nicht immer, dass es einen Grund dafür gibt. –