Texto de Pablo Parra Iglesias
revisado por Enrique Rendón
Blender está construido con
Python como base, haciendo que sea un programa ampliable y personalizable.
Python da acceso a la funcionalidad completa del Blender Game Engine mediante su API de programación. Este proyecto
se centra en los módulos específicos del Game
Engine.
Python es un lenguaje de
programación de alto nivel, interpretado y multipropósito. Es potente, flexible
y con una sintaxis clara y concisa. Debido a que es interpretado, no necesita
dedicar tiempo a su compilación. En la actualidad es uno de los lenguajes de
programación más utilizados para el desarrollo de software.
Mediante Python se puede acceder
a todos los sensores, actuadores y controladores de Blender, además se pueden
modificar sus parámetros en tiempo de ejecución. También permite realizar
acciones directamente en las escenas, cambiar y evaluar propiedades de los
objetos, sin necesidad de emplear ladrillos lógicos.
A diferencia de muchos lenguajes
de programación, en Python no es necesario poner ningún carácter al final de
cada línea indicando el salto de línea, ni hay marcadores de comienzo y fin de
bloque. Para indicar el final de línea basta con que cada bloque de código esté
correspondiente indentado (entendiendo por bloque de código: sentencias if, bucles for o while, funciones,
etc.).
Cada nivel de indentación equivale a una pulsación de la tecla tab o a
cuatro espacios (aunque esto último es modificable por el usuario). Los bloques
de código no están delimitados por corchetes o paréntesis ni por palabras clave
como end o start. El inicio lo marcan los dos puntos (‘:’) de la primera línea
del bloque y el fin lo marca la vuelta al nivel de tabulación inicial del
bloque. En la figura 1 se muestra un ejemplo de bloque de código
Figura 1. Bloque de código Python
Python permite la creación de
bloques vacíos, mediante la palabra clave pass.
Esto se emplea cuando en una línea se requiere que haya algo escrito pero, en
ese momento, el usuario todavía no ha puesto la lógica correspondiente a ese
bloque lógico. La sentencia pass,
es una operación nula, no ocurre nada cuando se ejecuta; se pasa a la siguiente
línea. Si se dejase un bloque vacío sin poner la sentencia pass, saltaría un error de indentación.
En el fragmento de código 1 se muestra un ejemplo del uso de esta sentencia.
Fragmento de código 1. Sentencia pass.
Las variables no hace falta
declararlas, basta con darles un valor inicial para ser creadas.
Para una mejor entendimiento del
script programado, se puede emplear el carácter # para comentar el código. Todo
lo que siga a la almohadilla no será interpretado por la consola.
En el fragmento de código 2 se
muestra un ejemplo en el que se muestra cómo saber si un número es primo
empleando un bucle for y sentencias if y else.
En él se encuentran varios bloques de código.
Fragmento de código 2. Bucles y sentencias
En este primer fragmento se ha
comentado el inicio y final de los bucles y las sentencias para que se entienda
bien la importancia de que el código esté bien indentado. Si el código no
estuviera correctamente indentado produciría resultados no deseados o saltaría
un error al compilar. En los demás fragmentos de código ya no se comentará
donde se inicia o finaliza el bucle, función o sentencia.
Para escribir una función hay que
poner primero la palabra clave def,
seguida del nombre de la función, y posteriormente entre paréntesis los
argumentos de la función. Finalmente tiene que llevar los dos puntos (‘:’) que
indican que se inicia la función. En el fragmento de código 3 se muestra un
ejemplo de una función en la que se pasan como parámetros dos números de los
que se quiere saber cuántos números primos hay entre ellos.
Fragmento de código 3. Función
Y al ser ejecutada la función
pasando como parámetros los números 13 y 36 se obtiene el resultado que muestra
la figura 2.
Figura 2. Ejecución de función.
Las
funciones en Python permiten devolver uno o varios valores. Las variables que
se quieran devolver hay que indicarlas mediante la sentencia return. En
el fragmento de código 4 se muestra un ejemplo trivial en el que en una función
se devuelven tres valores. En esta función se opera con el número pasado como
parámetro: se suma uno, se multiplica por tres y se eleva al cuadrado. Estos
tres valores son los que se devuelven.
Fragmento de código 4. Más de un valor de retorno en un función
En la figura 3 se muestra un
ejemplo de cómo almacenar los valores devueltos por una función, en este caso
de la función del fragmento de código 4. Además se ha impreso por consola el
valor de cada una de las variables.
Figura 3. Múltiples valores devueltos por una función
En realidad no harían falta que
las variables que reciben los valores de la función vayan entre corchetes.
Pueden ir entre paréntesis o sin necesidad ni de corchetes ni de paréntesis. En
este ejemplo se han usado los corchetes para que visualmente sea más semejante
a otros lenguajes de programación.
No hay comentarios:
Publicar un comentario