Significa el final de los parámetros posicionales solamente , parámetros que no puede usar como parámetros de palabras clave. Antes de Python 3.8, dichos parámetros solo podían especificarse en la API de C.
Significa que el key
argumento a __contains__
solo se puede pasar por position ( 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.
Consulte también la documentación de la Clínica de argumentos :
Para marcar todos los parámetros como solo posicionales en Argument Clinic, agregue un /
en una línea solo después del último parámetro, sangrado 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 denota que los parámetros anteriores son solo posicionales. Los parámetros solo posicionales son los que no tienen 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 sintaxis ahora forma parte de la especificación del lenguaje Python, a partir de la versión 3.8 , consulte PEP 570 - Parámetros solo de posición de Python . Antes de PEP 570, la sintaxis ya estaba reservada para una posible inclusión futura en Python, consulte PEP 457 - Sintaxis para parámetros solo posicionales .
Los parámetros solo posicionales pueden conducir a API más limpias y claras, hacer que las implementaciones de Python puro de los módulos C-only sean más consistentes y fáciles de mantener, y debido a que los parámetros solo posicionales requieren muy poco procesamiento, conducen a un código Python más rápido.
/
token, porque "es la operación inversa de*
" muestra, que Python está un poco loco. Es una especie de sinestesia.La barra diagonal (/) indica que todos los argumentos anteriores son argumentos solo posicionales. La característica de argumentos solo posicionales se agregó en python 3.8 después de que se aceptara PEP 570 . Inicialmente, esta notación se definió en PEP 457 - Notación para notación para parámetros solo posicionales
Tomemos el siguiente ejemplo
Aquí, en la definición de función anterior, los parámetros a y b son solo posicionales, mientras que x o y pueden ser posicionales o palabras clave.
Las siguientes llamadas a funciones son válidas
Pero, la siguiente llamada de función no es válida, lo que genera una excepción TypeError ya que a, b no se pasan como argumentos posicionales sino que se pasan como palabras clave
Muchas funciones integradas en python aceptan argumentos posicionales solo donde pasar argumentos por palabra clave no tiene sentido. Por ejemplo, la función incorporada len acepta solo un argumento posicional (solo), donde llamar a len como len (obj = "hello world") dificulta la legibilidad, consulte help (len).
Los parámetros de solo posición hacen que las funciones subyacentes de c / library sean fáciles de mantener. Permite que los nombres de parámetros de solo parámetros posicionales sean cambios en el futuro sin riesgo de romper el código del cliente que usa API
Por último, pero no menos importante, los parámetros solo posicionales nos permiten usar sus nombres para ser utilizados en argumentos de palabras clave de longitud variable. Verifique el siguiente ejemplo
Los parámetros solo posicionales se explican mejor aquí en Tipos de argumentos de función en python: Parámetros solo posicionales
La sintaxis de parámetros solo posicionales se agregó oficialmente a python3.8. Pedido que hay de nuevo python3.8 - sólo argumentos posicionales
Relacionado con PEP: PEP 570 - Parámetros solo de posición de Python
fuente