溫馨提示×

溫馨提示×

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

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

python打印的寫法有哪些

發(fā)布時間:2022-05-05 10:34:12 來源:億速云 閱讀:184 作者:zzz 欄目:開發(fā)技術(shù)

本文小編為大家詳細介紹“python打印的寫法有哪些”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“python打印的寫法有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習新知識吧。

    一、前期準備

    假設(shè)parent/__init__.py 里的代碼是:

    # -*- coding: UTF-8 -*-
    print('從前有座山,')

    假設(shè)parent/one/__init__.py 里的代碼是:

    # -*- coding: UTF-8 -*-
    print('山上有座廟,')

    假設(shè)parent/one/one/__init__.py 里的代碼是:

    # -*- coding: UTF-8 -*-
    print('廟里有個老和尚,')

    假設(shè)parent/two/__init__.py 里的代碼是:

    # -*- coding: UTF-8 -*-
    print('老和尚說:')

    假設(shè)parent/three/__init__.py 里的代碼是:

    # -*- coding: UTF-8 -*-
    print('從前有座山,')

    按上述所示建立對于的py文件。對應(yīng)效果如下圖所示。感覺在無線套娃,挺有意思的,哈哈哈。 

    python打印的寫法有哪些

    二、多種import調(diào)用方法 

    如果一個模塊被import過,Python 會將導(dǎo)入的模塊緩存在sys.modules字典里緩存起來,再次導(dǎo)入的時候不會重新執(zhí)行導(dǎo)入動作,直接從緩存里取。反之,如果我們從sys.modules里把導(dǎo)入的模塊刪除,則再次import會再次觸發(fā)模塊導(dǎo)入動作。

    利用以上知識,我們的目標是通過 import 語句導(dǎo)入模塊,觸發(fā)每個包目錄下__init__.py加載時執(zhí)行print語句,從而循環(huán)打印出:

    從前有座山,
    山上有座廟,
    廟里有個老和尚,
    老和尚說:
    從前有座山,
    山上有座廟,
    廟里有個老和尚,
    老和尚說:
    從前有座山,
    ...

    首先先介紹下python中del的用法,del用于刪除對應(yīng)的變量的引用。

    由于python都是引用,而python有GC機制,所以,del語句作用在變量上,而不是數(shù)據(jù)對象上。

    if __name__=='__main__':
        a=1       # 對象 1 被 變量a引用,對象1的引用計數(shù)器為1
        b=a       # 對象1 被變量b引用,對象1的引用計數(shù)器加1
        c=a       #1對象1 被變量c引用,對象1的引用計數(shù)器加1
        del a     #刪除變量a,解除a對1的引用
        del b     #刪除變量b,解除b對1的引用
        print(c)  #最終變量c仍然引用1

    del刪除的是變量,而不是數(shù)據(jù)。

    1、第一種寫法

    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']

    效果圖

    python打印的寫法有哪些

    2、 第二種寫法

    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']

    效果圖

    python打印的寫法有哪些

    3、第三種寫法

    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打印的寫法有哪些

    讀到這里,這篇“python打印的寫法有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細節(jié)

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

    AI