中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Python2、Python3中reload()的不同用法介紹

發布時間:2020-10-21 00:24:59 來源:腳本之家 閱讀:181 作者:mighty13 欄目:開發技術

reload() 簡介

作用:用于重新載入之前載入的模塊

語法格式:reload(module)

參數:module為模塊對象,必須已經被加載

返回值:返回模塊對象

注意事項:

多次重復使用import語句時,不會重新加載被指定的模塊,只是把對該模塊的內存地址給引用到本地變量環境。

reload()會重新加載已加載的模塊,重新編譯模塊,重新執行模塊級代碼,但是__init__函數不再重復執行,原來已經使用的實例還是會使用舊的模塊,而新生產的實例會使用新的模塊;reload后還是用原來的內存地址;不支持from ... import ...格式的模塊進行重新加載。

大部分模塊設計為只加載一次,重新加載可能導致一些問題,因此,慎用reload()。

使用sys.modules可查看已加載的模塊。

Python2

在Python2中,reload()為內置函數。

例:重設字符編碼

>>>import sys
>>> sys.getdefaultencoding()      # 當前默認編碼
'ascii'
>>> reload(sys)             # 使用 reload
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8')   # 設置編碼
>>> sys.getdefaultencoding()
'utf8'
>>>

Python3

在Python3中,reload()被轉移到imp模塊以及importlib模塊中。

Python3.4之前在imp中,Python3.4之后imp模塊逐步被廢棄,reload()移至importlib模塊中。

>>> import sys
>>> reload(sys)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'reload' is not defined
>>> from imp import reload
__main__:1: DeprecationWarning: the imp module is deprecated in favour of importlib;
 see the module's documentation for alternative uses
>>> reload(sys)
<module 'sys' (built-in)>
>>> from importlib import reload
>>> reload(sys)
<module 'sys' (built-in)>

以上這篇基于Python2、Python3中reload()的不同用法介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长沙县| 乌海市| 陵川县| 民县| 黄平县| 宜都市| 凤凰县| 林甸县| 朔州市| 邻水| 锦州市| 平果县| 吕梁市| 揭西县| 汉沽区| 即墨市| 新津县| 同江市| 平湖市| 蓝山县| 儋州市| 晴隆县| 岑巩县| 资阳市| 绥宁县| 三亚市| 长治市| 武山县| 新竹县| 梁河县| 和静县| 五指山市| 玉龙| 金川县| 顺昌县| 永善县| 洪泽县| 保山市| 穆棱市| 乌鲁木齐县| 津南区|