zoukankan      html  css  js  c++  java
  • Python学习---模块和包

    模块:

      一个模块就是一个包含Python代码的文件,一个文件就是一个模块

    为什么使用模块

      1.现在程序开发文件比较大,都放在一个文件中维护不方便,拆分成多个文件方便维护和管理

      2.模块可以增加代码的重用率

      3.模块可以当做命名空间

    如何定义自己的模块

      模块本身就是一个文件,所有py代码都可以在文件中直接书写,不过我们开发公用模块时,最好在模块中书写一下内容

        变量    模块中的属性

        函数    单独的功能

        类      相似功能组合

        模块测试代码  临时使用,被导入时不会执行

    测试代码:

      测试代码经常在开发模块时用于测试模块的功能,但是测试代码仅在开发和测试时使用,被当做模块导入时不希望测试代码运行,需要使用name特殊变量来操作

      if __name__  == '__main__':
       #测试代码区域(仅在吧当前文件直接运行时才会执行测试代码,当作模块导入时则不会执行)
    
      __name__  在直接运行当前文件时,结果为__main__
        
      __name__  被当作模块导入文件时,结果为 模块名称


    模块的导入方式
      1.import 模块名
      2.import 模块名 as 别名
      3.from 模块  import 函数/类
      4.from 模块 import *
    模块的存放
      import sys
      sys.path #获取当前搜索路径的列表
      sys.path.append(自定义的路径) #将自定义的路径添加到列表中
    模块的加载顺序
      导入模块操作的步骤:
        1.检测内存中是否已经加载过当前模块,如果加载过,直接使用加载的模块
        2.如果内存中没有加载过当前模块,则搜索Python的内置模块
        3.如果当前内置模块中没有改模块,根据搜索路径查找并且加载模块

    包:
      包就是文件夹,用于存放文件也就是模块,包中也可以存放包
    包的结构:
    |---- __init__.py 包的标志文件
    |---- 模块1
    |---- 模块2
    |---- 子包(文件夹)
    |-----|----__init__.py
    |---- |----子模块1
    |---- |----子模块2


    包的导入和使用
      1.import 包.模块
      2.import 包.模块 as 别名
      3.from 包.模块 import 函数或者类或者属性
      4.from 包.模块 import *
    包的相互调用问题
      如果在当前模块中需要调用其他模块或者包的内容时,可以直接使用import导入对应的包和模块你,就可以加载进来使用,import会搜索包和模块对应的搜索路径


    注:
      __init__.py 文件中添加内容
        给inint文件添加内容 就相当于给包添加内容  包可以被导入使用

      __all__特殊变量的用户
       1. 在__init__.py文件中,如果没有__all__变量,那么使用from包import * 仅导入__init__.py中定义的方法和类及其他内容
       2. 在init.py文件中,如果定义all变量,那么使用from包import * 则会导入指定的所有模块,而忽略init.py文件中的信息
      __all__ = [‘模块’,‘子包’....] #必须是列表



  • 相关阅读:
    css选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先
    移动端重要的几个CSS3属性设置
    关于移动端的Click事件
    JS根据key值获取URL中的参数值,以及把URL的参数转换成json对象
    动态添加JS文件到页面
    JS 模拟C# 字符串格式化操作
    JS cookie 读写操作
    很好用的Tab标签切换功能,延迟Tab切换。
    SpringMVC 原理
    SpringMVC 三种异常处理方式
  • 原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/7894343.html
Copyright © 2011-2022 走看看