Domanda

In questo file , nella funzione cross_from_below (x, soglia) , c'è una riga che dice soglia = soglia . Qual è il punto di questa linea? Questo fa qualcosa di diverso rispetto a se questo comando non fosse presente?

È stato utile?

Soluzione

Non ha senso quel compito. Probabilmente è appena rimasto e dovrebbe essere rimosso. La funzione successiva è quasi identico, e non farlo.

Altri suggerimenti

No, nell'esempio specifico che citi, quella linea è (innocua ma) ridondante - in effetti la funzione successiva (soglia incrociata dall'alto invece che dal basso) è quasi identica (salvo ovviamente per la direzione dei confronti ), manca quel compito aggiuntivo, ma funziona allo stesso modo.

L'unico caso in cui qualcosa come soglia = soglia farebbe la differenza è in un'istruzione def , dove è l'idioma forzare l'associazione anticipata di un nome ( si avvale del fatto che i valori predefiniti vengono valutati al momento def , vale a dire, "presto" ,-). Ma non è quello che sta facendo quel codice - basta aggiungerlo per completezza.

Potrebbe significare qualcosa. Ad esempio, se soglia era una proprietà di una classe, l'assegnazione potrebbe chiamare un metodo setter.

Ma in questo caso, penso che sia un refuso. Ho esaminato la log delle modifiche e non vi è alcun suggerimento che ciò sia stato intenzionale per qualsiasi motivo.

O potrebbe essere uno di quei casi in cui a un certo punto aveva senso scrivere qualcosa del tipo:

 self.threshold = threshold

perché la funzione era un metodo di qualche classe che doveva mantenere la soglia. (In tal caso, significherebbe qualcos'altro, no?)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top