Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用条件语句设置python变量_Python - Fatal编程技术网

使用条件语句设置python变量

使用条件语句设置python变量,python,Python,我遇到了这行代码 ax = ax or plt.gca() 这里是29号线 这个表达式到底是如何工作的 ax将假定ax和plt.gca()的结果之间的或操作的结果 有关详细信息,请参阅 解释 您可以将第29行理解为向ax, 如果ax作为函数参数传递(因此它不是None),传递的值将分配给ax, 否则(ax为无)plt.gca()将分配给ax 因为None或plt.gca()的结果是plt.gca()它将返回的任何内容 您可以将第29行视为:ax=ax,如果ax不是其他plt.gca()ax将

我遇到了这行代码

ax = ax or plt.gca()
这里是29号线


这个表达式到底是如何工作的

ax
将假定
ax
plt.gca()的结果之间的
操作的结果
有关详细信息,请参阅

解释 您可以将第29行理解为向
ax

如果
ax
作为函数参数传递(因此它不是
None
),传递的值将分配给
ax

否则(
ax
为无)
plt.gca()
将分配给
ax

因为
None或plt.gca()
的结果是
plt.gca()
它将返回的任何内容


您可以将第29行视为:
ax=ax,如果ax不是其他plt.gca()

ax
将假定
ax
plt.gca()的结果之间的
操作的结果
有关详细信息,请参阅

解释 您可以将第29行理解为向
ax

如果
ax
作为函数参数传递(因此它不是
None
),传递的值将分配给
ax

否则(
ax
为无)
plt.gca()
将分配给
ax

因为
None或plt.gca()
的结果是
plt.gca()
它将返回的任何内容

您可以将第29行视为:
ax=ax,如果ax不是其他plt.gca()

在您引用的代码范围内,
ax
是默认为
None
的函数参数

def get_text_position(text, ax=None): #28
    ax = ax or plt.gca()              #29
    [...]                             #30
ax或plt.gca()
分配给
ax
是为了确保
ax
的值在剩余的功能范围内不
None
。如果使用
ax
参数的非
None
值调用函数,则该行无效,因为对右侧表达式的求值在
处停止,其左操作数不是
None
已经满足了这一要求。 如果没有
ax
参数被传递给函数,或者如果它被显式设置为
None
,则对
ax或plt.gca()
的求值会导致后者的返回值,因为
ax
None
,不满足表达式的要求,因此
后面的余数必须包含在内。指示在本例中第29行中调用的方法将确保返回none null对象

长话短说,
运算符不仅适用于布尔操作数,而且适用于
和非
值,就像您所指代码范围内的
一样,
ax
是一个默认为
None
的函数参数

def get_text_position(text, ax=None): #28
    ax = ax or plt.gca()              #29
    [...]                             #30
ax或plt.gca()
分配给
ax
是为了确保
ax
的值在剩余的功能范围内不
None
。如果使用
ax
参数的非
None
值调用函数,则该行无效,因为对右侧表达式的求值在
处停止,其左操作数不是
None
已经满足了这一要求。 如果没有
ax
参数被传递给函数,或者如果它被显式设置为
None
,则对
ax或plt.gca()
的求值会导致后者的返回值,因为
ax
None
,不满足表达式的要求,因此
后面的余数必须包含在内。指示在本例中第29行中调用的方法将确保返回none null对象


长话短说,
运算符不仅适用于布尔操作数,而且对
和非
值的作用方式与对

的作用方式相同。如果第一个操作数的计算结果为
,则表达式的计算结果为第一个操作数:

>>> True or "second"
True

>>> "first" or "second"
"first"

如果第一个操作数的计算结果为
False
,则表达式的计算结果为第二个操作数:

>>> False or "second"
"second"

>>> 0 or "second"
"second"

>>> None or "second"
"second"
以下是一些计算结果与
False
相同的值:

False
0
None
""
[]
{}    

因此,在这一行中:

ax or plt.gca()
如果
ax
None
,则表达式计算为第二个操作数
plt.gca()


如果第一个操作数的计算结果为
True
,则表达式的计算结果为第一个操作数:

>>> True or "second"
True

>>> "first" or "second"
"first"

如果第一个操作数的计算结果为
False
,则表达式的计算结果为第二个操作数:

>>> False or "second"
"second"

>>> 0 or "second"
"second"

>>> None or "second"
"second"
以下是一些计算结果与
False
相同的值:

False
0
None
""
[]
{}    

因此,在这一行中:

ax or plt.gca()
如果
ax
None
,则表达式计算为第二个操作数
plt.gca()


关于Python
操作符的工作原理,有很多教程。谷歌“python或operator.”可能重复了很多关于python
operator如何工作的教程。谷歌“python或operator.”可能与