Variables#
Introducción#
Las variables almacenan datos y le permiten reutilizarlos y manipularlos a lo largo de su programa. Python es un lenguaje * de tipo dinámico *, lo que significa que no es necesario declarar explícitamente el tipo de variable. En cambio, el tipo se infiere automáticamente en función del valor que se le asigna. Por ejemplo:
angle = 90 # angle is an integer
dist = "Distance: " # dist is a string
steps = 2.5 # steps is a float
Python también está fuertemente tipado, lo que significa que no puede realizar operaciones en tipos incompatibles sin convertirlos explícitamente. Por ejemplo:
red_blocks = 2 # red_blocks is an integer
blue_blocks = "4" # blue_blocks is a string
result = red_blocks + blue_blocks # Creates a TypeError
Para resolver estos problemas, debe convertir explícitamente los tipos, si corresponde:
red_blocks = 2 # red_blocks is an integer
blue_blocks = "4" # blue_blocks is a string
# Convert blue_blocks to an integer before adding
result = int(blue_blocks) + red_blocks
Esta API explica los tipos de variables comunes en Python. Si bien no es una lista exhaustiva, cubre los tipos que es más probable que uses en la práctica.
Variables locales: se declara dentro de una función y solo se usa dentro de ese alcance; es mejor para valores temporales o aislados.
Variables globales – Declaradas fuera de cualquier función y utilizadas a lo largo del proyecto; son buenas para compartir datos entre funciones.
Integer: números enteros utilizados para contar, distancias o cualquier cosa sin decimales.
Float – Números con puntos decimales, útiles para mediciones o cálculos precisos.
String – Valores de texto, utilizados para mensajes, etiquetas o para mostrar una salida legible.
Booleano –
TrueoFalsevalores para lógica y toma de decisiones.NoneType – Representa la ausencia de un valor en Python.
Range – Genera automáticamente secuencias de números, más comúnmente utilizados en bucles.
List – Una colección cambiable de elementos; buena para almacenar grupos de valores como objetos o lecturas de sensores.
Lista 2D – Una lista de listas; ideal para representar filas, cuadrículas o datos tipo tabla.
Tuple – Una secuencia fija de valores que no se pueden cambiar; útil para datos agrupados e inmutables.
Declarar y asignar una variable#
Para crear una variable, simplemente asigne un valor a un nombre usando el operador =:
distance = 100
Al nombrar una variable, se deben cumplir las siguientes reglas:
El nombre no puede contener caracteres especiales (por ejemplo, un signo de exclamación).
El nombre no puede comenzar con un número.
El nombre no puede usar espacios.
El nombre no puede ser una palabra reservada en VEXcode (por ejemplo, transmisión).
Local Variables#
Las variables locales se definen dentro de una función o bloque de código. Solo son accesibles dentro del alcance de esa función o bloque y no son visibles fuera de él.
def show_local():
# This variable only exists inside this function
message = "I'm local!"
brain.print(message)
show_local()
Las variables locales se utilizan comúnmente para almacenar valores temporales que solo son relevantes dentro de una función específica o parte del programa.
Global Variables#
Las variables globales se definen fuera de cualquier función o bloque. Se puede acceder a ellos y leerlos * en cualquier lugar* del programa, incluidas las funciones internas.
Nota: Una variable global se puede usar en cualquier parte de tu proyecto. Esto puede ser útil, pero también puede hacer que los errores sean más difíciles de encontrar. Si el valor cambia, es posible que deba verificar muchas partes del proyecto para ver dónde cambió. Utilice una variable local cuando solo una función necesite el valor.
# The variable is defined outside a function
message = "I'm global!"
def show_global():
# You can access 'message' inside a function
brain.print(message)
show_global()
# And you can access 'message' outside a function
brain.print(message)
De forma predeterminada, la asignación de un valor a una variable dentro de una función crea una variable local. Para modificar una variable global dentro de una función, debe declararla explícitamente utilizando la palabra clave global.
# Define the global variable
count = 0
def increase_count():
# Use the global keyword to let you modify the
# global variable
global count
count = count + 1
brain.print("Count: {}".format(count))
increase_count()
brain.new_line()
increase_count()
Tipos de datos#
Las variables de Python pueden almacenar varios tipos de datos, cada uno adecuado para diferentes casos de uso. A continuación se presentan los tipos más utilizados:
Integer#
Un entero es un número positivo o negativo.
distance = 100
# Move the arm to the distance value on the y-axis
arm.move_to(50, distance, 150)
# Add to the variable and move forward the new value
wait(1, SECONDS)
distance = distance + 100
arm.move_to(50, distance, 150)
Float#
Un float es un número decimal.
# Store a value with decimal points
raw_value = 0.88
# Print the decimal value as a percentage
print(raw_value * 100, "%")
String#
Una cadena es una secuencia de caracteres, comúnmente utilizada para texto.
# Set the variable to a string then print the string
message = "Ready!"
brain.print(message)
Nota: Siempre se debe incluir una cadena entre comillas coincidentes, ya sea simple (’) o doble (”). Puedes usar cualquiera de los estilos, pero las marcas de apertura y cierre deben coincidir.
Boolean#
Un booleano representa los valores True o False.
# Set the state of the variable
delivered = False
# Print different messages depending on the Boolean.
if delivered:
brain.print("Package delivered!")
else:
brain.print("Delivering...")
Los booleanos se pueden cambiar en cualquier punto del proyecto.
# Print the value of the delivered variable
delivered = True
brain.print(delivered)
wait(2,SECONDS)
# Clear the screen and print the value of the variable again
brain.clear_screen()
delivered = False
brain.print(delivered)
NoneType#
NoneType representa la ausencia de un valor en Python.
# Write what the robot's task should be as a string
current_task = None
# Check if a task is assigned
if current_task is None:
brain.print("No task!")
else:
brain.print("Task: {}".format(current_task))
Range#
Un rango es una secuencia de números, comúnmente utilizada en bucles para generar secuencias numéricas. Sigue el formato:
range(start, stop, step)
Componentes |
Descripción |
|---|---|
|
Opcional. El valor inicial es inclusivo (la secuencia comienza aquí). El valor predeterminado es 0. |
|
El valor de parada es exclusivo (la secuencia se detiene antes de este número). |
|
Opcional. El paso determina cuánto aumenta (o disminuye) cada número. El valor predeterminado es 1. |
# move in a square
for index in range(4):
arm.move_inc(100, 0, 0)
arm.move_inc(0, 100, 0)
arm.move_inc(-100, 0, 0)
arm.move_inc(0, 100, 0)
# Count by 2 starting at 1 and ending before 12
for index in range(1, 12, 2):
# Print the values on the screen with each loop
brain.print(index)
brain.new_line()
List#
Una lista almacena un grupo de elementos en una variable. Puedes agregar elementos, eliminar elementos, cambiar elementos o usar cada elemento de uno en uno en tu proyecto. Las listas son útiles cuando desea mantener juntos los valores relacionados, como lecturas de sensores, colores o nombres de objetos. Las listas se crean usando corchetes [].
# Define a list of colors
colors = ["Red", "Green", "Blue", "Purple"]
# Repeat for the number of items in the colors list
for index in colors:
# Print each color in order
brain.print(index)
brain.new_row()
Utilice append para agregar elementos a una lista.
# Define a list of colors
colors = ["Red", "Green", "Blue", "Purple"]
# Append a new color to the list
colors.append("Yellow")
# Repeat for the number of items in the colors list
for index in colors:
# Print each color in order
brain.print(index)
brain.new_row()
2D List#
Una lista 2D, o lista de listas, se usa comúnmente para representar cuadrículas, tablas o matrices. Cada sublista representa una fila o un grupo específico de datos.
# Assign the values in the matrix 2D list
matrix = [
["A", 1, "Red"],
["B", 2, "Orange"],
["C", 3, "Yellow"]
]
# Loop through each row
for row in matrix:
# Loop through each column in the row
for element in row:
brain.print(element, ", ")
brain.new_line()
Puede modificar elementos específicos o incluso sub-listas enteras dentro de una lista 2D:
# Assign the values in the matrix 2D list
matrix = [
["A", 1, "Red"],
["B", 2, "Orange"],
["C", 3, "Yellow"]
]
# Modify the color (in column 2) in row 0
matrix[0][2] = "Blue"
# Print the modified row from the matrix 2D list
brain.print(matrix[0])
Tuple#
Una tupla es una secuencia de elementos que no se pueden cambiar después de su creación. A menudo se utilizan para agrupar valores relacionados.
# Define a tuple
set_1 = (100, "Left")
# Print the tuple
brain.print(set_1)
Las tuplas se crean usando paréntesis () en lugar de corchetes [].