Je ne pense pas que cela soit possible en Python, puisque ce que vous essayez de faire en réalité est probablement étendu à quelque chose comme ceci :
num1 = 20 if someBoolValue else num1
Si vous excluez else num1
vous recevrez une erreur de syntaxe car je suis certain que l'affectation doit retourner quelque chose.
Comme d'autres l'ont déjà mentionné, vous pourriez le faire, mais ce n'est pas une bonne idée car vous finirez probablement par vous embrouiller en lisant ce morceau de code la prochaine fois :
if someBoolValue: num1=20
Je ne suis pas un grand fan de la num1 = someBoolValue and 20 or num1
pour exactement la même raison. Je dois en fait réfléchir à deux fois à ce que fait cette ligne.
La meilleure façon de réaliser ce que vous voulez faire est la version originale :
if someBoolValue:
num1 = 20
La raison pour laquelle il s'agit de la meilleure version est que ce que vous voulez faire est très évident et que vous ne vous embrouillerez pas vous-même, ni quiconque sera en contact avec ce code par la suite.
Aussi, comme une note secondaire, num1 = 20 if someBoolValue
est un code Ruby valide, car Ruby fonctionne un peu différemment.