您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“python打印的寫法有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“python打印的寫法有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
假設parent/__init__.py 里的代碼是:
# -*- coding: UTF-8 -*- print('從前有座山,')
假設parent/one/__init__.py 里的代碼是:
# -*- coding: UTF-8 -*- print('山上有座廟,')
假設parent/one/one/__init__.py 里的代碼是:
# -*- coding: UTF-8 -*- print('廟里有個老和尚,')
假設parent/two/__init__.py 里的代碼是:
# -*- coding: UTF-8 -*- print('老和尚說:')
假設parent/three/__init__.py 里的代碼是:
# -*- coding: UTF-8 -*- print('從前有座山,')
按上述所示建立對于的py文件。對應效果如下圖所示。感覺在無線套娃,挺有意思的,哈哈哈。
如果一個模塊被import過,Python 會將導入的模塊緩存在sys.modules
字典里緩存起來,再次導入的時候不會重新執行導入動作,直接從緩存里取。反之,如果我們從sys.modules
里把導入的模塊刪除,則再次import會再次觸發模塊導入動作。
利用以上知識,我們的目標是通過 import 語句導入模塊,觸發每個包目錄下__init__.py
加載時執行print語句,從而循環打印出:
從前有座山,
山上有座廟,
廟里有個老和尚,
老和尚說:
從前有座山,
山上有座廟,
廟里有個老和尚,
老和尚說:
從前有座山,
...
首先先介紹下python中del的用法,del用于刪除對應的變量的引用。
由于python都是引用,而python有GC機制,所以,del語句作用在變量上,而不是數據對象上。
if __name__=='__main__': a=1 # 對象 1 被 變量a引用,對象1的引用計數器為1 b=a # 對象1 被變量b引用,對象1的引用計數器加1 c=a #1對象1 被變量c引用,對象1的引用計數器加1 del a #刪除變量a,解除a對1的引用 del b #刪除變量b,解除b對1的引用 print(c) #最終變量c仍然引用1
del刪除的是變量,而不是數據。
import sys if __name__ == '__main__': while True: import parent.one.one import parent.two import parent del sys.modules['parent.one'] del sys.modules['parent.one.one'] del sys.modules['parent.two'] del sys.modules['parent']
效果圖
import sys if __name__ == '__main__': while True: import parent.one.one import parent.two del sys.modules['parent'] del sys.modules['parent.one'] del sys.modules['parent.one.one'] del sys.modules['parent.two']
效果圖
import sys if __name__ == '__main__': while True: import parent import parent.one import parent.one.one import parent.two del sys.modules['parent'] del sys.modules['parent.one'] del sys.modules['parent.one.one'] del sys.modules['parent.two']
效果圖
讀到這里,這篇“python打印的寫法有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。