Je ne suis pas sûr de bien comprendre la question ici ... Essayer de "lire" la valeur d'un nom de variable "indéfini" déclenchera une erreur de type NameError
. (voir ici, que Python a des "noms" et non des variables...).
\== EDIT ==
Comme indiqué dans les commentaires par delnan, le code ci-dessous n'est pas robuste et se cassera dans de nombreuses situations ...
Néanmoins, si votre variable "existe", mais qu'elle a une valeur fictive, comme par exemple None
La méthode suivante pourrait être utilisée :
>>> my_possibly_None_value = None
>>> myval = my_possibly_None_value or 5
>>> myval
5
>>> my_possibly_None_value = 12
>>> myval = my_possibly_None_value or 5
>>> myval
12
>>>
(voir ce paragraphe sur les valeurs de vérité )
1 votes
Il ne l'active pas s'il n'est pas activé - il l'active si sa valeur actuelle est fausse (
false
ounil
). Il est vrai que cette distinction est plus importante dans les langages qui, par exemple, considèrent 0 et "" comme faux, mais il n'en reste pas moins que la distinction est plus importante dans les langages qui, par exemple, considèrent 0 et "" comme faux.0 votes
Quel est le cas d'utilisation de cet opérateur ruby ?
1 votes
La façon de le faire serait d'utiliser un try except NameError comme indiqué par phihag, mais cela n'a pas tellement de sens en Python comme indiqué par tout le monde ici. En Ruby, c'est plus utile en raison de la façon dont les gens passent des blocs de code arbitraires à exécuter à l'intérieur d'une fonction. La fonction cible peut alors avoir besoin de définir une variable qui n'a pas été initialisée dans le bloc étranger qu'elle a exécuté. De tels cas n'existent pas en Python.