Existe-t-il une fonction dans Python qui vérifie si la valeur retournée est None et si c'est le cas, vous permet de la définir sur une autre valeur comme la fonction IFNULL
dans MySQL?Equivalent Python pour MySQL IFNULL
Répondre
Pas vraiment, puisque vous ne pouvez pas redéfinir les arguments.
if foo is None:
foo = 42
ou
def ifnull(var, val):
if var is None:
return val
return var
foo = ifnull(foo, 42)
Comme ceci:
x = SOME_VALUE if x is None else x
Depuis cette question est maintenant plus de 2 ans, je suppose que cela est plus pour de futures références :)
Ce que je comme à faire est max('', mightBeNoneVar)
ou max(0, mightBeNoneVar)
(selon le contexte).
exemple plus élaboré:
print max('', col1).ljust(width1) + ' ==> '+ max('', col2).ljust(width2)
Cela me semble un peu compliqué, et il vaut également la peine de noter que si des comparaisons comme celle-ci fonctionnent dans 2.x, dans Python 3.x, 'NoneType' n'est pas disponible et donc vous obtiendrez un' TypeError' –
Si vous voulez convertir tous les "valeurs" falsy (c.-à-None
, 0
, ""
, []
, False
, etc.) à une valeur spécifique et laisser tout le reste à travers intact , vous pouvez utiliser or
. Par exemple:
print (x or default_value)
imprimera la valeur de x
si elle est truthy, et la valeur de default_value
si x
est falsy.
Je mentionne cela parce que IFNULL
est souvent utilisé de cette façon pour nettoyer les valeurs nulles dans les colonnes booléennes et numériques dans une base de données et pourrait donc être ce que vous ou d'autres étiez après. Évidemment, si vous voulez traiter None
différemment à 0
, False
, etc. ceci ne fonctionnera pas.
- 1. MySQL IFNULL équivalent pour php
- 2. MYSQL IFNULL bon usage
- 3. MySQL IFNULL question
- 4. IFNull dans MySQL
- 5. mysql IFNULL AUTRE
- 6. mysql IFNULL INSERT énorme revers?
- 7. Equivalent pour LinkedHashMap en Python
- 8. IFNULL dans le problème de vitesse mysql
- 9. Equivalent Ruby pour Python pour/else
- 10. Fonction ifnull() dans la clause where MYSQL
- 11. Equivalent Python de SCAR
- 12. Ruby Equivalent de Python "_"
- 13. Python toDataUrl Equivalent
- 14. Equivalent Python pour usort() de PHP?
- 15. Equivalent Python pour curl -b (--cookie)
- 16. Python Equivalent à phpinfo()
- 17. Equivalent Python de PHP @
- 18. Equivalent de sp_lock, sp_who pour mysql
- 19. Equivalent de pgpool-II pour MySQL
- 20. Différence entre IFNULL et SI
- 21. PL/Ruby equivalent en MySQL
- 22. Equivalent python de java Matcher.quoteReplacement()
- 23. Equivalent Typogrify pour .NET
- 24. IFNULL dans NHibernate
- 25. mysql ifnull comment utiliser quand la ligne n'existe pas?
- 26. Equivalent Python pour la fonction pack de Ruby
- 27. Equivalent TreeSet de Java en Python?
- 28. Equivalent Python de l'URI de Perl :: Find
- 29. Equivalent Django ORM pour la clause IN multiple-colonne MySql
- 30. Equivalent de SET avec LOAD DATA INFILE pour MySQL 4.1?
Le corps de 'ifnull()' pourrait être raccourci à 'val si var est None else var', aussi. –
Il peut être raccourci à 'return var ou val' en fait –
@IonutHulub: Non, car beaucoup de valeurs non-' Non 'sont fausses. –