¿Qué significa /
en la help
Python 3.4 para el range
antes del paréntesis de cierre?
>>> help(range) Help on class range in module builtins: class range(object) | range(stop) -> range object | range(start, stop[, step]) -> range object | | Return a virtual sequence of numbers from start to stop by step. | | Methods defined here: | | __contains__(self, key, /) | Return key in self. | | __eq__(self, value, /) | Return self==value. ...
Significa el final de los parámetros solo posicionales , parámetros que no puede usar como parámetros de palabras clave. Dichos parámetros solo pueden especificarse en la API de C.
Significa que el argumento key
para __contains__
solo se puede pasar por posición ( range(5).__contains__(3)
), no como un argumento de palabra clave ( range(5).__contains__(key=3)
), algo que puede hacer con Argumentos posicionales en funciones de python puro.
También vea la documentación de Argument Clinic :
Para marcar todos los parámetros como solo posicionales en la Clínica de argumentos, agregue una
/
en una línea sola después del último parámetro, con sangría igual que las líneas de parámetros.
y la (muy reciente adición a) las preguntas frecuentes de Python :
Una barra diagonal en la lista de argumentos de una función indica que los parámetros anteriores a ella son solo de posición. Los parámetros de solo posición son aquellos sin un nombre utilizable externamente. Al llamar a una función que acepta parámetros solo posicionales, los argumentos se asignan a parámetros basados únicamente en su posición.
La syntax también se ha definido para una posible inclusión futura en Python, consulte PEP 457 – Sintaxis para parámetros de solo posición .
Este PEP se ha revivido recientemente y se ha aceptado para su inclusión en Python . Con Python 3.8 aún en la fase alfa, puede convertirse en una realidad en esa versión, o en 3.9, según la rapidez con la que se pueda finalizar la implementación de referencia .
Los parámetros de solo posición pueden llevar a API más claras y claras, hacer que las implementaciones puras de Python de los módulos de otra forma C sean más consistentes y fáciles de mantener, y como los parámetros de solo posición requieren muy poco procesamiento, conducen a un código Python más rápido.