Variables#
Introduction#
Les variables stockent des données et permettent de les réutiliser et de les manipuler dans tout le programme. Python est un langage à typage dynamique, ce qui signifie qu’il n’est pas nécessaire de déclarer explicitement le type d’une variable. Ce type est automatiquement déduit de la valeur qui lui est attribuée. Par exemple :
angle = 90 # angle is an integer
dist = "Distance: " # dist is a string
steps = 2.5 # steps is a float
Python est également fortement typé, ce qui signifie que vous ne pouvez pas effectuer d’opérations sur des types incompatibles sans les convertir explicitement. Par exemple :
red_blocks = 2 # red_blocks is an integer
blue_blocks = "4" # blue_blocks is a string
result = red_blocks + blue_blocks # Creates a TypeError
Pour résoudre ces problèmes, vous devez convertir explicitement les types, le cas échéant :
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
Cette API explique les types de variables courants en Python. Bien qu’elle ne soit pas exhaustive, elle couvre les types que vous serez le plus susceptible d’utiliser en pratique.
Variables locales – Déclarées à l’intérieur d’une fonction et utilisées uniquement dans cette portée ; idéal pour les valeurs temporaires ou isolées.
Variables globales – Déclarées en dehors de toute fonction et utilisées dans tout le projet ; utiles pour partager des données entre les fonctions.
Entier – Nombres entiers utilisés pour le comptage, les distances ou tout ce qui n’a pas de décimales.
Flottant – Nombres décimaux, utiles pour des mesures ou des calculs précis.
Chaîne – Valeurs de texte, utilisées pour les messages, les étiquettes ou l’affichage d’une sortie lisible.
Booléen –
TrueouFalsevaleurs pour la logique et la prise de décision.NoneType – Représente l’absence de valeur en Python.
Range – Génère automatiquement des séquences de nombres, généralement utilisées dans les boucles.
Liste – Une collection modifiable d’éléments ; idéale pour stocker des groupes de valeurs comme des objets ou des relevés de capteurs.
Liste 2D – Une liste de listes ; idéale pour représenter des lignes, des grilles ou des données de type tableau.
Tuple – Une séquence fixe de valeurs qui ne peuvent pas être modifiées ; utile pour les données groupées et immuables.
Déclaration et affectation d’une variable#
Pour créer une variable, il suffit d’attribuer une valeur à un nom à l’aide de l’opérateur = :
distance = 100
Lors de la dénomination d’une variable, les règles suivantes doivent être respectées :
Le nom ne peut pas contenir de caractères spéciaux (par exemple, un point d’exclamation).
Le nom ne peut pas commencer par un chiffre.
Le nom ne peut pas contenir d’espaces.
Le nom ne peut pas être un mot réservé dans VEXcode (par exemple, Drivetrain).
Local Variables#
Les variables locales sont définies à l’intérieur d’une fonction ou d’un bloc de code. Elles ne sont accessibles que dans la portée de cette fonction ou de ce bloc et ne sont pas visibles en dehors de celui-ci.
def show_local():
# This variable only exists inside this function
message = "I'm local!"
brain.screen.print(message)
show_local()
Les variables locales sont couramment utilisées pour stocker des valeurs temporaires qui ne sont pertinentes que dans une fonction ou une partie spécifique du programme.
Global Variables#
Les variables globales sont définies en dehors de toute fonction ou bloc. Elles peuvent être consultées et lues partout dans le programme, y compris à l’intérieur des fonctions.
Remarque : Une variable globale peut être utilisée partout dans votre projet. Cela peut s’avérer utile, mais aussi compliquer la recherche de bogues. Si sa valeur change, vous devrez peut-être vérifier plusieurs parties du projet pour trouver l’endroit où le changement a eu lieu. Utilisez une variable locale lorsqu’une seule fonction a besoin de sa valeur.
# The variable is defined outside a function
message = "I'm global!"
def show_global():
# You can access 'message' inside a function
brain.screen.print(message)
show_global()
# And you can access 'message' outside a function
brain.screen.print(message)
Par défaut, l’affectation d’une valeur à une variable à l’intérieur d’une fonction crée une variable locale. Pour modifier une variable globale à l’intérieur d’une fonction, vous devez la déclarer explicitement à l’aide du mot-clé 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.screen.print("Count: {}".format(count))
increase_count()
brain.screen.next_row()
increase_count()
Types de données#
Les variables Python peuvent stocker différents types de données, chacun adapté à des cas d’utilisation spécifiques. Voici les types les plus couramment utilisés :
Integer#
Un entier est un nombre positif ou négatif.
distance = 100
# Move the robot forward for the variable value in mm
drivetrain.drive_for(FORWARD, distance, MM)
# Add to the variable and move forward the new value,
# for 200mm total
wait(1, SECONDS)
distance = distance + 100
drivetrain.drive_for(FORWARD, distance, MM)
Float#
Un nombre à virgule flottante est un nombre décimal.
# Store a value with decimal points
raw_value = 0.88
# Print the decimal value as a percentage
print(raw_value * 100, "%")
String#
Une chaîne de caractères est une séquence de caractères, couramment utilisée pour le texte.
# Set the variable to a string then print the string
message = "Ready!"
brain.screen.print(message)
Remarque : Une chaîne de caractères doit toujours être placée entre guillemets identiques, simples (’) ou doubles (”). Vous pouvez utiliser l’un ou l’autre style, mais les guillemets ouvrants et fermants doivent correspondre.
Boolean#
Un booléen représente True ou False valeurs.
# Set the state of the variable
delivered = False
# Print different messages depending on the Boolean.
if delivered:
brain.screen.print("Package delivered!")
else:
brain.screen.print("Delivering...")
Les valeurs booléennes peuvent être modifiées à tout moment du projet.
# Print the value of the delivered variable
delivered = True
brain.screen.print(delivered)
wait(2,SECONDS)
# Clear the screen and print the value of the variable again
brain.screen.clear_screen()
delivered = False
brain.screen.print(delivered)
NoneType#
NoneType représente l’absence de valeur 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.screen.print("No task!")
else:
brain.screen.print("Task: {}".format(current_task))
Range#
Une plage est une séquence de nombres, couramment utilisée dans les boucles pour générer des séquences numériques. Elle suit le format suivant :
range(start, stop, step)
Composants |
Description |
|---|---|
|
Facultatif. La valeur de départ est inclusive (la séquence commence ici). La valeur par défaut est 0. |
|
La valeur d’arrêt est exclusive (la séquence s’arrête avant ce nombre). |
|
Facultatif. Le pas détermine l’incrément (ou la diminution) de chaque nombre. La valeur par défaut est 1. |
# Drive and turn 4 times to move in a square
for index in range(4):
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90)
# 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.screen.print(index)
brain.screen.next_row()
List#
Une liste stocke un groupe d’éléments dans une seule variable. Vous pouvez ajouter, supprimer ou modifier des éléments, ou les utiliser individuellement dans votre projet. Les listes sont utiles pour regrouper des valeurs liées, comme des relevés de capteurs, des couleurs ou des noms d’objets. Les listes sont créées à l’aide de crochets : [].
# 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.screen.print(index)
brain.screen.next_row()
Utilisez append pour ajouter des éléments à une liste.
# 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.screen.print(index)
brain.screen.next_row()
2D List#
Une liste 2D, ou liste de listes, est couramment utilisée pour représenter des grilles, des tableaux ou des matrices. Chaque sous-liste représente une ligne ou un groupement spécifique de données.
# 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.screen.print(element, ", ")
brain.screen.next_row()
Vous pouvez modifier des éléments spécifiques, voire des sous-listes entières, au sein d’une liste 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.screen.print(matrix[0])
Tuple#
Un tuple est une séquence d’éléments qui ne peuvent plus être modifiés après leur création. Il est souvent utilisé pour regrouper des valeurs liées entre elles.
# Define a tuple
set_1 = (100, "Left")
# Print the tuple
brain.screen.print(set_1)
Les tuples sont créés à l’aide de parenthèses () plutôt que de crochets [].