zoukankan      html  css  js  c++  java
  • python 模块和包

     一、模 块                           

      什么是模块:

      已经写好的一组功能的集合
      别人写好的函数 变量 方法 放在一个文件里 (这个文件可以被我们直接使用)这个文件就是个模块
      py dll文件 zip文件

    如何自己写一个模块:
      
      
    创建一个py文件,给他起一个符合变量命名规则的名字,这个名字就是模块名

       在导入模块的过程中发生了什么?
        
       导入一个模块就是执行一个模块

     import 导入模块     

    #怎么使用my_module模块中的名字
    print(my_module.name)
    print(my_module.read1)
    my_module.read1()
    
    # import的命名空间,模块和当前文件在不同的命名空间中
    name = 'asdf'
    def read1():
        print('main read1')
    
    print(name)
    print(my_module.name)

    # 模块是否可以被重复导入
    # import my_module
    # import my_module
    # 怎么判断这个模块已经被导入过了???
    # import sys
    # print(sys.modules)
     模块导入的过程中发生了什么?

    找到这个模块
    判断这个模块是否被导入过了
    如果没有被导入过
    创建一个属于这个模块的命名空间
    让模块的名字 指向 这个空间
    执行这个模块中的代码
    name = 'egon'
    def read1():
        print('main read1')
    
    
    print(name)
    print(my_module.name)
    my_module.read2()
    

       给模块起别名,起了别名之后,使用这个模块就都使用别名引用变量了

       导入多个模块

        import os,time

        import os as o,time as t

        规范建议 模块应该一个一个的导入 :

        内置模块 ===> 扩展(第三方)模块 ===> 自定义模块

    from import 导入模块

      如何使用 from import

        需要从一个文件中使用哪个名字,就把这个名字导入进来

        from my_module import name

       from import的过程中仍然执行了这个被导入的文件

        from my_module import read1
        import谁就只能用谁
        read1()
        from my_module import read2
        read2()

      当前文件命名空间和模块的命名空间的问题
        from my_module import read1
        def read1():
        print('in my read1')
        read1()
      
        from my_module import read2
        read2()

      from import导入的过程中发生了什么事儿?
        1.找到要被导入的模块
        2.判断这个模块是否被导入过
        3.如果这个模块没被导入过
          创建一个属于这个模块的命名空间
          执行这个文件
          找到你要导入的变量
          给你要导入的变量创建一个引用,指向要导入的变量

    二、包                                

  • 相关阅读:
    JavaScript严谨模式(Strict Mode)提升开发效率和质量(转载)
    如何调用.Net中的非Public方法
    ViewState机制由浅入深1
    使用SQL向SQL Server2005中插入图片
    ViewState机制由浅入深3
    在服务器端修改HTML控件的属性
    ViewState机制由浅入深2
    IsPostBack深入探讨
    关于架构的小整理,仅限于个人
    关于文件操作的小方法
  • 原文地址:https://www.cnblogs.com/JinMuBaoBao/p/9524778.html
Copyright © 2011-2022 走看看