第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Canopy IPython 未更新使用 %run 運(yùn)行的代碼中定義的變量?

Canopy IPython 未更新使用 %run 運(yùn)行的代碼中定義的變量?

一只名叫tom的貓 2023-10-26 15:48:47
我一直試圖弄清楚 IPython 如何與使用 %run 運(yùn)行的代碼中定義的變量進(jìn)行交互。我對 %run 的理解是,它運(yùn)行給定的 python 文件,然后將其所有數(shù)據(jù)導(dǎo)入到當(dāng)前 IPython 筆記本的命名空間中。但是,我遇到了以下問題,我不確定如何根據(jù)該描述進(jìn)行解釋。假設(shè)我們有以下名為“foo.py”的簡單程序。foo = 5def printVar():    print foo    def changeVar():    global foo    foo = foo + 1如果我們運(yùn)行“foo.py”并向 IPython 詢問 的值,foo我們將得到以下結(jié)果。In [1]: %run "foo.py"In [2]: fooOut[2]: 5如果我們運(yùn)行changeVar()然后再次詢問 IPython 的值,foo我希望 IPython 返回6,但實(shí)際上,我們得到以下結(jié)果。In[3]: changeVar()In[4]: fooOut[4]: 5然而,當(dāng)我們跑步時,printVar()我們得到了。In[5]: printVar()6那么這是怎么回事呢?從表面上看,我們似乎陷入了矛盾。我一直想知道這是否是一個類似于變量作用域的問題。局部變量可以與全局變量具有相同的名稱,但具有不同的值,那么這里是否發(fā)生了類似的情況?如果這是真的,那么 IPython 似乎不會更新它運(yùn)行foo時的版本。changeVal()我正在 Enthought Canopy 中運(yùn)行 Python 2.7.13不管怎樣,希望我在這里錯過了一些簡單的東西。謝謝!
查看完整描述

1 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個贊

是的,Ipython 有自己的命名空間。嘗試使用該%run -i選項(xiàng)。

查看完整回答
反對 回復(fù) 2023-10-26
  • 1 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號