在python函数中,我是否需要预先分配一个有条件地出现在if下的值?

在python函数中,我是否需要预先分配一个有条件地出现在if下的值?


def func(x,y):

    if x == 1:

        z = 2

    else: pass


    if y == 1:

        print(z)

    else: pass

我在这里看到的问题可能会爆炸,如果和.为了潜在地防止此错误引发程序,我是在函数的开头声明还是使用 try-except 来打印或其他方法?最佳实践是什么?print(z)x != 1y == 1z = Nonez


ibeautiful
浏览 56回答 3
3回答

梦里花落0921

简短的回答是肯定的。如果你想在函数的后期做类似的事情:那么应该先分配到。print(z)z您有一些选择:def func(x, y):    if x == 1:        z = 2    else:        z = None# ordef func(x, y):    z = None    if x == 1:        z = 2# ordef func(x, y):    z = 2 if x == 1 else None

慕村9548890

您只需执行以下操作:def func(x,y):     z = 2 if x == 1 else None     print(z)这意味着将始终由或如果或或分别分配。z2Nonex == 1

缥缈止盈

为了防止“爆炸”,您必须在函数开始时或之前定义变量,在您的情况下,您可以使用:def func(x, y):    z = None    if x == 1:        z = 2    if z and y == 1:        print(z)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python