Pregunta

En este archivo , en la función cross_from_below (x, umbral) , hay una línea que dice threshold = threshold . ¿Cuál es el punto de esta línea? ¿Hace esto algo diferente que si este comando no estuviera allí?

¿Fue útil?

Solución

No hay ningún punto para esa asignación. Es probable que quede solo y debe ser eliminado. La siguiente función es casi idéntica, y no la tiene.

Otros consejos

No, en el ejemplo específico que usted cita, esa línea es (inofensiva pero) redundante; de ??hecho, la siguiente función (umbral cruzado desde arriba en lugar de desde abajo) es casi idéntica (excepto, por supuesto, la dirección de las comparaciones) ), carece de esa asignación adicional, pero funciona de la misma manera.

El único caso en el que algo como threshold = threshold haría una diferencia es en una declaración de def , donde es el idioma para forzar el enlace temprano de un nombre ( hace uso del hecho de que los valores predeterminados se evalúan en el momento def , es decir, " temprano " ;-). Pero eso no es lo que está haciendo ese código, simplemente agregarlo para completar.

Podría significar algo. Por ejemplo, si threshold era una propiedad de una clase, asignarlo podría llamar a un método de establecimiento.

Pero en este caso, creo que es un error tipográfico. He mirado en changelog y no hay ninguna pista de que esto haya sido intencional por ninguna razón.

O podría ser uno de esos casos en los que en algún momento tenía sentido escribir algo como:

 self.threshold = threshold

porque la función era un método de alguna clase que necesitaba mantener el umbral. (En cuyo caso, significaría algo más, ¿no?)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top