亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在python函數中,我是否需要預先分配一個有條件地出現在if下的值?

在python函數中,我是否需要預先分配一個有條件地出現在if下的值?

ibeautiful 2022-09-27 09:18:40
在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
查看完整描述

3 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

簡短的回答是肯定的。


如果你想在函數的后期做類似的事情:那么應該先分配到。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


查看完整回答
反對 回復 2022-09-27
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

您只需執行以下操作:

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

這意味著將始終由或如果或或分別分配。z2Nonex == 1


查看完整回答
反對 回復 2022-09-27
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

為了防止“爆炸”,您必須在函數開始時或之前定義變量,在您的情況下,您可以使用:


def func(x, y):

    z = None

    if x == 1:

        z = 2


    if z and y == 1:

        print(z)


查看完整回答
反對 回復 2022-09-27
  • 3 回答
  • 0 關注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號