Comment sauvegarder une condition dans une chaîne de caractères et utiliser ensuite la fonction 'built-in' eval() en python ?

Published: 01 décembre 2021

Tags: Python;

DMCA.com Protection Status

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])

Références