Ich mache einen AJAX Aufruf und übergebe die Variable pub
, die 1
oder 0
sein könnte.
Als Anfänger möchte ich sicher sein, dass der Variablentyp, der hereinkommt, sicher ist. Ich weiß, dass ich leicht zu int()
konvertieren kann und das Problem ist eigentlich nicht mit AJAX, aber es führte zu dieser Frage.
Mein Code:
%Vor%Aber das obige ist nicht so pythonisch für mich, also habe ich es versucht:
%Vor%Welcher der obigen Codes ist besser in Bezug auf:
Leistung : ist besser
%Vor% Also, {} > or > [] > ()
basierend auf der Leistung.
Übung : in
wird bevorzugt, da weniger eingegeben werden muss. (), [], {}
basierend auf der Praxis gleich gut.
Speicher :
%Vor% Also, {} > [] > () > or
basiert auf Speicher
Obwohl nicht gefragt, gut zu wissen:
Funktionalität : Wertgleichheit und nicht Referenzgleichheit
in
ist nur eine sequenzielle Überprüfung der Gleichheit ==
. So ähnlich. in
verwendet ==
und nicht is
.
Was ich sagen möchte, ist dies:
So wird nicht wie folgt implementiert:
%Vor% is
gibt True zurück, wenn zwei Variablen auf dasselbe Objekt verweisen, ==
, wenn die Objekte, auf die sich die Variablen beziehen, gleich sind. in
verwendet ==
Leistungsperformance in
ist also besser:
Und pro Speicherplatz ist die if
besser, da die Liste etwas mehr Speicher verwendet
Dies ist aufgrund der Tatsache, dass, wenn sogar leere Liste erstellt wird Speicherplatz benötigt
%Vor% Ich weiß nichts über best practice aspect
Für mich wäre der pythonischste Weg, in
zu verwenden, da dies die Tipparbeit reduziert
1. Leistung:
%Vor%2. Best Practice: Es ist gut, Programme auf eine pythonische Weise zu schreiben, die ich bevorzuge (Pub in [1, '1'])
3. Speichernutzung: Nummer 1 und String '1' wird immer in Python zwischengespeichert, Sie können den Refcount für diese Objekte überprüfen. Idealerweise wird es keinen zusätzlichen Speicher benötigen.
%Vor%Wenn Sie eine Liste verwenden, die mehr Speicherplatz benötigt, um diese zwischengespeicherten Objekte zu beziehen. (Unten ist in 64-Bit-Typ)
%Vor%Diese 88 Bytes Speicher werden Sie extra zuweisen als die andere Art zu tun.
Ich würde vorschlagen, mit zu gehen:
%Vor% Geschwindigkeit:
in
ist schneller und viel.
Um es zu beweisen, hier ist der Code.
Ausgabe:
%Vor% Im Raum:
==
ist eine ganze Menge besser.
in
benötigt O (2) Leerzeichen, während ==
O (1) Leerzeichen benötigt.
Nach meiner Meinung ist das beste Verfahren in
zu verwenden, da es viel schneller ist und eine Menge Tipparbeit erspart.
Tags und Links python