Wolfram Computation Meets Knowledge

Wolfram Language:
Introducción rápida para programadores

Mostrar notas adicionales para:
Todas las secciones 
  • Acerca de Wolfram Language
  • Mostrar notas adicionales para...
  • Mostrar notas para Java
  • Mostrar notas para Python
  • Ocultar notas adicionales
Comience ya

Definiciones de función Versión de video

En Wolfram Language, las definiciones de función son simplemente asignaciones que proporcionan reglas de transformación para patrones.

Notas para programadores de Java:

A diferencia de los métodos en el lenguaje orientado a objetos de Java, las funciones de Wolfram Language no están restringidas a una jerarquía de clases.

Defina una función de dos argumentos llamados x y y:

In[1]:=1
f[x_, y_] := x + y

Notas para programadores de Java:

En definiciones de funciones básicas en Wolfram Language, los nombres de parámetros son seguidos por _ ("espacio en blanco"). A diferencia de los métodos de Java, las funciones de Wolfram Language aceptarán cualquier tipo de datos de forma predeterminada.

Notas para programadores de Python:

En definiciones básicas de función Wolfram Language, los nombres de parámetros son seguidos por _ ("en blanco"), permitiendo que los parámetros correspondan a patrones simbólicos arbitrarios. Esto permite definiciones de función potentes y flexibles que no son posibles de forma predeterminada en Python. Las funciones basadas en Wolfram Language pueden ser definidas para uso en Python mediante la función session.function de la biblioteca de cliente Wolfram para Python.


Utilice la definición:

In[2]:=2
f[4, a]
Out[2]=2

Borre la definición:

In[3]:=3
Clear[f]

Las funciones pueden ser definidas especificando sus valores en una secuencia de casos:

In[1]:=1
f[1] = 2
Out[1]=1

In[2]:=2
f[2] = 3
Out[2]=2

Cualquier caso no definido se queda sin transformar:

In[3]:=3
{f[1], f[2], f[3], f[4]}
Out[3]=3

Usted puede usar /; para restringir una definición para aplicar solo cuando una condición particular se presenta:

In[4]:=4
f[x_, y_] := x - y /; x > y

Notas para programadores de Java:

Usar /; en Wolfram Language funciona como una afirmación acortada If.

Notas para programadores de Python:

Usar /; en Wolfram Language es como una proposición de tipo if que puede ser aplicada a una función, permitiendo seleccionar de forma flexible una definición basada en una condición.


Usted puede definir transformaciones para cualquier lado izquierdo, lo que resulta conveniente para "desestructurar" argumentos:

In[1]:=1
f[{x_, y_}, z_] := {x + z, y - z}

In[2]:=2
f[{5, 6}, q]
Out[2]=2

Wolfram Language no posee tipos propiamente dichos; todo es una expresión simbólica. La "cabecera" de una expresión puede ser usada como una especie de designador de tipo generalizado.

Proporcione diferentes definiciones de lo que f debería hacer cuando se aplica a un "objeto u" o un "objeto v":

In[1]:=1
f[u[x_]] := x + 1

In[2]:=2
f[v[x_]] := x - 1

Notas para programadores de Java:

Esto es similar a cargar un método Java para distintos tipos de datos, excepto que en Wolfram Language las funciones pueden ser cargadas de forma más general, con base en la estructura simbólica de sus argumentos.

Notas para programadores de Python:

Una función de Wolfram Language puede usar la concordancia de patrones incorporada para cambiar su comportamiento con base en la estructura simbólica de cualquiera de sus argumentos. Lograr esto en Python requeriría un código personalizado elaborado o bibliotecas de terceros.

REFERENCIA RÁPIDA: Definiendo variables y funciones


¿Cuál de las siguientes opciones define una función f que añade dos números (por ejemplo: f[3, 4] == 7)?


¿Cuál definición evaluaría {f[1], f[2], f[3], f[4]} como {f[1], 5, 6, f[4]}?


Si la función f es definida como f[x_, y_] := x + y, entonces ¿cuál de estas opciones es el valor de f[a, b]?

© 2020 Wolfram. Todos los derechos reservados.