Exemples de comment sauvegarder une condition dans une chaîne de caractères et utiliser ensuite la fonction 'built-in' eval() en python:
Sauvegarder une condition dans une chaîne de caractères
Considérons par exemple la condition suivante : x == 2 que nous pouvons stocker dans une chaîne de caractères comme ceci:
s = ' x == 2 '
Notez que
print(type(s))
donne ici
<class 'str'>
Utiliser la fonction "built-in" eval()
Pour ensuite utiliser cette condition sous forme de chaîne de caractères, une solution consiste à utiliser la fonction "built-in" eval():
x = 5
eval( s )
donne
False
tandis que
x = 2
eval( s )
donne
True
Exemple avec une condition if
Peut également être utilisé dans une instruction conditionnelle. Exemple avec une condition if
x = 2
if eval(s):
print('Do Something !')
donne
Do Something !
Exemple avec une matrice
import numpy as np
data = np.arange(10)
donne
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
et
s = ' (data > 2) & (data < 7) '
data[ eval(s) ]
donne
array([3, 4, 5, 6])