Python presenta la nueva sintaxis de función en la versión Python3.8.2 , donde podemos introducir la /
barra inclinada para comparar el parámetro posicional que viene antes de la /
barra y los parámetros que vienen después *
son argumentos de palabra clave. El resto de los argumentos que se interponen /
y *
pueden ser de tipo posicional o de palabra clave.
Eso significa que podemos combinar argumentos posicionales y argumentos regulares de tal manera que todos los argumentos no posicionales vengan después de /
la barra oblicua.
Sintaxis:
def function(a, b, /, c, d, *, e, f): # Function Body pass
Donde a y b son argumentos posicionales, c y d pueden ser posicionales o de palabra clave o e y f son estrictamente argumentos de tipo palabra clave.
En la imagen que se muestra a continuación, podemos ver que la función de potencia es una función integrada en la biblioteca matemática de Python y esta función usa una /
barra inclinada para habilitar el argumento solo posicional y ahora podemos implementar la misma funcionalidad con la ayuda de esta versión.
Ejemplo n.º 1:
en este ejemplo, podemos ver que al usar el argumento solo posicional podemos implementar la función con la posición fija, como podemos decir solo en funciones integradas antes de esta versión de Python. Con la ayuda de esto, podemos hacer que nuestro programa sea más sólido.
# Positional-Only argument def function(a, b, /, c, d, *, e, f): print (a, b, c, d, e, f) function(1, 2, 3, d = 4, e = 5, f = 6) # It works fine function(1, 2, 3, d = 4, 5, f = 6) # Error occurred
Producción :
Ejemplo #2:
# Positional-Only argument def function(a, b, /, **kwargs): print (a, b, kwargs) function(1, 2, a = 4, b = 5, c = 6) # It works fine function(a = 1, 2, a = 4, b = 5, c = 6) # Error occurred
Producción :
Publicación traducida automáticamente
Artículo escrito por Jitender_1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA