zoukankan      html  css  js  c++  java
  • day8 模块与包

    导入模块 发生的三件事

     '''
    1, 他在内存中开辟了一个以tbix命名的空间。
    2, 你模块中的所有内容都加载到内存。
    2, 你要通过tbjx.的方式去引用模块中的对象。
    '''

    print('from the tbjx.py')
    __all__=['read1','read2']#import tbjx * #只引入列表里的名称或方法
    name = '太白金星'


    def read1():
    print('tbjx模块:', name)


    def read2():
    print('tbjx模块')
    read1()


    def change():
    global name
    name = 'barry'
    def func3():
    with open('a.txt',encoding='utf-8',mode='w'):
    pass
    print('func3 调试成功')

    if __name__ == '__main__': #此文件当作执行文件时执行下面的代码 但被导入时 __name__ == 'tbjx'也就是等于文件名只导入上面的代码。调试的时候用功能
    func3()

    import 包 发生了三件事:

    '''
    1,在内存中开辟一个名称空间aaa
    2,自动将包下面的__init__文件中代码加载到内存。
    3, 通过aaa. 获取模块中的对象。
    '''

    # 总结:
    # 执行文件!!的当前目录是在sys.path的第一个参数。
    # 所以当前目录的文件可以直接import。
    # 无论怎么样导入文件import 还是 from ... import ... 一定是从执行文件当前目录开始。

    # 包的总结:
    # 如果要是 from 包.包.包(执行文件同一个目录,sys.path) import ... 那么 __init__ 可以不用任何操作
    # .的左边一定是包
    # 如果你是 import 包  __init__ 必须要各种写。

    五,py文件的两种功能

    复制代码
    #编写好的一个python文件可以有两种用途:
        一:脚本,一个文件就是整个程序,用来被执行
        二:模块,文件中存放着一堆功能,用来被导入使用
    
    
    #python为我们内置了全局变量__name__,
        当文件被当做脚本执行时:__name__ 等于'__main__'
        当文件被当做模块导入时:__name__等于模块名
    
    #作用:用来控制.py文件在不同的应用场景下执行不同的逻辑(或者是在模块文件中测试代码)
        if __name__ == '__main__':
  • 相关阅读:
    (转)浮点数的存储方式
    (转)静态变量和全局变量的区别
    (转)RTMP协议从入门到放弃
    python: format
    Tornado web.authenticated 用户认证浅析
    Python时间,日期,时间戳之间转换
    Python图片处理PIL/pillow/生成验证码/出现KeyError: 和The _imagingft C module is not installed
    Python图像处理库:Pillow 初级教程
    Python练习册--PIL处理图片之加水印
    python中string模块各属性以及函数的用法
  • 原文地址:https://www.cnblogs.com/lieying6011/p/10055331.html
Copyright © 2011-2022 走看看