Python条件变量赋值

史蒂夫·霍尔

大家早,

有人可以建议,是否有可能实现以下目标:

def myFunction(someParam)
   if someParam == 1:
      return "This and that"
   else:
      return None

someVariable = someVariable || myFunction(valuePassedIn)

即,给定“ someVariable”具有现有值,我想保留该值,或将其替换为“ myFunction”返回的值,前提是该值不为None?

显然,我可以执行以下操作:

if myFunction(valuePassedIn) != None:
    someVariable = myFunction(valuePassedIn)

但这当然是两次调用myFunction。或者,我可以这样做:

myFuncRes = myFunction(valuePassedIn)
if MyFuncRes != None:
    someVariable = myFuncRes

但是如果我可以按照我的“ ||”将其简化为一行代码,那将是一个好习惯。上面的第一个代码段中的一行。显然,我已经看过条件表达式文档,但是除非引起我的误会,否则它还会涉及myFunction两次调用吗?

我猜另一个选择是someVariable作为附加参数传递给它,myFunction并使用它作为“ else”返回值而不是None,但我不禁感到这有点混乱-Python可能有一些更光滑的东西我可以使用?

谢谢

Nilesh

是的,你可以这样做

请检查以下代码

>>> a = 1
>>> def test(b):
...     return b*10
...
>>> c = a or test(2)
>>> c
1
>>> a = 0
>>> c = a or test(2)
>>> c
20

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

条件赋值给 const 变量

来自分类Dev

条件没有给变量赋值

来自分类Dev

了解python变量赋值

来自分类Dev

对变量赋值感到困惑(Python)

来自分类Dev

Python属性和变量赋值

来自分类Dev

基于环境变量的Makefile条件赋值

来自分类Dev

元组匹配与Python中的变量赋值

来自分类Dev

Python 中的列表、变量赋值和函数

来自分类Dev

带有未赋值变量的 Python 函数

来自分类Dev

python中的变量赋值和引用

来自分类Dev

在 Python 中为变量赋值的问题

来自分类Dev

条件“ if”修饰符中的Ruby变量赋值

来自分类Dev

赋值前在奇怪条件下引用的局部变量

来自分类Dev

VBA 有条件地为变量赋值

来自分类Dev

VBA中变量赋值的条件运算符

来自分类Dev

节点抱怨变量在条件赋值中未定义?

来自分类Dev

为什么条件变量赋值设置一个值,而标准赋值却没有?

来自分类Dev

将 if 条件中的值赋值给变量 if true with in 条件本身在 Java 中

来自分类Dev

使用时间片的python变量赋值

来自分类Dev

在Python 2.7中为列表中的变量赋值

来自分类Dev

赋值运算符左侧的Python多个变量

来自分类Dev

UnBoundLocalError:赋值之前引用的局部变量(Python)

来自分类Dev

赋值前引用的python unbroundlocalerror局部变量'机会'

来自分类Dev

Python函数变量赋值与自定义类

来自分类Dev

Python - UnboundLocalError:在循环中赋值之前引用的局部变量

来自分类Dev

Python 中这种类型的变量赋值是什么?

来自分类Dev

使用while的条件赋值

来自分类Dev

Golang中的变量赋值

来自分类Dev

了解“对变量的无用赋值”