怎么新建MySQL数据库

发布时间:2022-09-16 作者:admin
阅读:420
今天就跟大家聊聊有关“python怎么打印,import调用方法有哪些”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“python怎么打印,import调用方法有哪些”文章能对大家有帮助。

一、前期准备

假设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调用方法 

如果一个模块被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删除的是变量,而不是数据。

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

效果图

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

效果图

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怎么打印,import调用方法有哪些”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 400 678 4567

信息安全 0668-2555 118

域名空间 3004329145