Core
Affichage
print("mon texte a afficher")
# print for debug
def unlock_achievement(before_xp, ach_xp, ach_name):
after_xp = before_xp - ach_xp
print("After xp:", after_xp) # print la string + la valeur
return None, None # placeholder during debugCommentaire
# one line
"""
multi-line
"""Variable
En python, la convention est d’utiliser la Snake Case. Tout en minuscule, et un _ pour séparer les mots.
# déclaration d'une variable
my_name = "Gizmo"
# déclaration multiple
sword_name, sword_damage, sword_length = "Excalibur", 10, 200
# utiliser une variable
print(my_name)Type
type() - retourner le type d’une variable
player_health = 100
player_has_magic = True
# don't touch below this line
print("player_health is a/an", type(player_health).__name__)
print("player_has_magic is a/an", type(player_has_magic).__name__)NoneType
None permet de créer une variable vide. Cette valeur représente une absence de valeur. Ce type de valeur permet de préparer des variables afin de les utiliser par la suite.
my_mental_acuity = None
print(my_mental_acuity is None) # check du type String
name_with_double_quotes = "boot.dev"f-strings
La syntaxe f-string pour ajouter la valeur d’une variable dans une string.
num_bananas = 10
bananas = f"You have {num_bananas} bananas"
print(bananas)
# You have 10 bananasConcaténation
first_name = "Lane "
last_name = "Wagner"
full_name = first_name + last_name
print(full_name)
# prints "Lane Wagner"Number
# int
x = 5 # positive integer
y = -5 # negative integer
# float
x = 5.2
y = -5.2Boolean
is_tall = True
is_short = FalseArithmetique
# addition
x = a + b
# soustraction
x = a - b
# multiplication
x = a * b
# division
x = a / b
# parenthses permette de définir la priorité
x = (a + b + c) * / 3 # moyenneUne division avec deux int retourne un float.
Modulo
Permet d’obtenir le reste d’une division
remainder = 8 % 3 #2Floor Division
Division qui retourne un résultat arrondis à l’entier inférieur. Retourne un entier.
7 // 3
# 2 (an integer, rounded down from 2.333)
-7 // 3
# -3 (an integer, rounded down from -2.333)Exposant
# reads as "three squared" or
# "three raised to the second power"
3 ** 2
# 9Modification de valeur
L’opération à droite de = est réalisée avant. Le résultat est ensuite affecter à la variable à gauche de =
player_score = 4
player_score = player_score + 1
# player_score now equals 5Plus equals
star_rating = 4
star_rating += 1
# star_rating is now 5
star_rating = 4
star_rating -= 1
# star_rating is now 3
star_rating = 4
star_rating *= 2
# star_rating is now 8
star_rating = 4
star_rating /= 2
# star_rating is now 2.0Notation scientific
Il est possible d’utiliser e ou E pour utiliser une notation scientifique.
Le nombre après le e indique le nombre de zéro ajouter à la valeur.
print(16e3)
# Prints 16000.0
print(7.1e-2)
# Prints 0.071Il est possible d’utiliser un _ pour améliorer la lisibilité des grands nombres
num = 16_000
print(num)
# Prints 16000
num = 16_000_000
print(num)
# Prints 16000000Nombre binaire
ob permet d’écrire des nombres binaires.
print(0b0001)
# Prints 1
print(0b0101)
# Prints 5Conversion binaire -> int
# this is a binary string
binary_string = "100"
# convert binary string to integer
num = int(binary_string, 2)
print(num)
# 4Scope
La portée fait référence à l’accès à une variable. Celle ci dépent de l’endroit où la variable est crée.
Global Scope: variable déclaré hors d’un bloc de code. Cette variable est accessible depuis n’importe quel endroit.
# global scope => en dehors d'un bloc de code
pi = 3.14
def get_area_of_circle(radius):
return pi * radius * radiusTest Unitaire
main.py: fichier de codemain_test.py: fichier de test
Stack Trace
Affiche les erreurs.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/pyodide/main.py", line 3
msg = f"You have {strength} strength, {wisdom} wisdom, and {dexterity} dexterity for a total of {total} stats.
^
IndentationError: unindent does not match any outer indentation level
PythonErrorTraceback (most recent call last):: header standard qui indique que l’on affiche une tracebackFile "<string>", line 1, in <module>: Début de la stack traceFile "/home/pyodide/main.py", line 3: Message d’erreur. Ici c’est le fichiermain.pyà la ligne 3 qui provoque l’erreurmsg = f"You have {strength} strength, {wisdom} wisdom, and {dexterity} dexterity for a total of {total} stats.: Ligne qui provoque l’erreurIndentationError: unindent does not match any outer indentation level: message d’erreur. Ici c’est une erreur de syntaxe