Python: ¿Qué significa la barra diagonal en la salida de ayuda ()?

¿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.