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

标签 python function variables

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

def func(x,y):
    if x == 1:
        z = 2
    else: pass

    if y == 1:
        print(z)
    else: pass

我在这里看到了一个问题,如果x != 1并且y == 1print(z)可能会崩溃。为了潜在地防止此错误引发,我是否在函数开头声明 z = None 或使用 try- except 打印 z 或其他方法?最好的做法是什么?

最佳答案

简短的回答是肯定的。

如果您想在函数中稍后执行类似以下操作:print(z),则应首先分配 z

您有一些选择:

def func(x, y):
    if x == 1:
        z = 2
    else:
        z = None

# or
def func(x, y):
    z = None
    if x == 1:
        z = 2

# or
def func(x, y):
    z = 2 if x == 1 else None

关于python - 在 python 函数中,我是否需要预先分配一个在 if 下有条件出现的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61031506/

相关文章:

mysql - bash 脚本中 mysql 命令的问题

java - 字符串变量在传递给另一个对象时丢失它们的值

python - 更改字典中的数据框

Python 3 : How do I make a game using user input and retrieving answer from a list of dictionaries, 然后用点系统?

python - 使用Python将一个文件的内容重复到另一个文件中

javascript - 使用 if 语句定义函数

python - 使用 Scrapy 迭代表单

function - 组合 (a -> Maybe a) 和 (an -> a) 函数

javascript - 一个函数如何传递给另一个函数?

swift - 如何在另一个函数中使用枚举 switch 语句