PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 寫法疑問
作者:
birdhackor
(夜殘狼)
2014-03-19 17:14:57
各位好,最近在看 flask 原始碼的時候看到一些寫法我很好奇為甚麼要這樣寫
例如 https://github.com/mitsuhiko/flask/blob/master/flask/exthook.py
49 行
sys.meta_path[:] = [x for x in sys.meta_path if self != x] + [self]
為什麼用 sys.meta_path[:] = ... 而不是 直接寫 sys.meta_path = ... 就好呢?
作者: ya790206 (殘雲奪月)
2014-03-19 19:11:00
sys.meta_path = 指指向新的 list。sys.meta_path[:] 更新這個 list
作者:
birdhackor
(夜殘狼)
2014-03-19 19:13:00
舊的 list 在利用 sys.meta_path = 指向新的之後不是會被回收嗎?(如果沒有別的變數指向他)會有什麼區別嗎?
作者: ya790206 (殘雲奪月)
2014-03-19 19:37:00
目前想到唯一理由是避免有變數指向舊的物件,而導致不一致>
作者:
timTan
(用口頭禪區分年記)
2014-03-19 21:43:00
難道是thread issue?
http://legacy.python.org/dev/peps/pep-0302/
正在看..看了也參不透這麼做的真意,要不要寫信問問作者。Github 上面也沒有 issue 跟這有關。
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2014-03-20 00:37:00
我猜應該就是 ya790206 的理由, 也有可能考慮 threading預防 race condition 吧, 反正就是這樣比較不會出包
作者:
timTan
(用口頭禪區分年記)
2014-03-20 22:37:00
來 Taipei.py 分享吧
繼續閱讀
[資訊] Python 3.4 發佈!+ pyenv
ccwang002
[問題] 請問 CSV
lingze
Re: [問題]新手練習遇到問題
lovehoumin
[問題]新手練習遇到問題
lovehoumin
[問題] 有關function的一些問題
qk13
Re: [問題] 程式新手問題VARARG
legnaleurc
[問題] 程式新手問題VARARG
cecilx
[問題] 請問有哪些好用的IDE
ptero
[問題] Beautifulsoup的問題
kanako
[問題] ipython notebook 執行順序?
kusoayan
Links
booklink
Contact Us: admin [ a t ] ucptt.com