[問題] func外 令a=1, 但func中 a=a+1 卻出錯!?
我弱弱的請教一下前輩
從app1.py看的出來 a 這變數有傳到function中
但為什麼app2.py 中 a=a+1
會顯示referenced before assignment呢?
程式如下
""" app1.py """
a = 1
def prt():
print(a)
prt()
# result:1
"""/app1.py""""
"""" app2.py""""
a = 1
def prt():
a = a + 1
# 新增上面那行
print(a)
prt()
# result: File "app2.py", line 4, in prt
a = a+1 UnboundLocalError:
local variable 'a' referenced before assignment
""" /app2.py"""
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.227.115 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1588703294.A.54B.html
推
05/06 03:26,
4年前
, 1F
05/06 03:26, 1F
→
05/06 03:26,
4年前
, 2F
05/06 03:26, 2F
→
05/06 03:26,
4年前
, 3F
05/06 03:26, 3F
→
05/06 03:26,
4年前
, 4F
05/06 03:26, 4F
推
05/06 03:33,
4年前
, 5F
05/06 03:33, 5F
推
05/06 03:40,
4年前
, 6F
05/06 03:40, 6F
→
05/06 15:49,
4年前
, 7F
05/06 15:49, 7F
→
05/06 15:49,
4年前
, 8F
05/06 15:49, 8F
→
05/06 15:51,
4年前
, 9F
05/06 15:51, 9F
明白了 感謝上面幾位大大!
※ 編輯: alfven (36.224.227.115 臺灣), 05/06/2020 20:55:01
推
05/07 10:45,
4年前
, 10F
05/07 10:45, 10F