模块和包,导入,hash,sys模块,错误处理

leo3notblv三个不相信 / 2023-05-13 / 原文

  • 模块的名字一般是小写字母
  • 一般都是把相关功能放在一起
  • 自定义模块
  • 模块的导入
    • 项目代码组织
      • 项目------文件夹-------文件------函数------代码
      • 多个.py文件放到一个文件夹中
      • 多个文件夹形成项目
      • 代码组织形式是模块化的,一般根据功能划分模块
    • 模块其实就是.py文件,包就是存储Python文件的文件夹(目录)
    • 导入问题
      • from从项目的根目录开始搜
      • 自定义包和模块使用from-包名.模块名-import--函数名,类名,变量
      • from 包名 import 模块,调用加模块前缀
      • from ----- import * 不要使用,容易冲突
    • 模块名和包名
      • 规范基本和变量相同,不要用数字开头
      • 不要和内置模块、第三方模块名冲突
    • PEP8规范
    • 直接import 模块名
    • from 模块名 import 方法名1,方法名2
    • from 模块名 import 方法名1 as 别名1,方法名2 as 别名2
    • from 模块名 import *
    • 模块命名规范和变量命名规范一样,不要以数字开头
    • 模块不要放在文件夹内
    • 和当前文件在同一个目录下,直接import导入,可以当执行文件也可以当模块
    • 和当前文件在不同目录下python相对导入常见问题和解决方案 - 知乎 (zhihu.com)
      • 当执行文件,,使用绝对导入(不以.开头)
      • 当模块供当前文件用,,使用相对导入(以.开头)
    • 循环引用问题
      • https://www.bbsmax.com/A/RnJWeVeodq/
  • 错误处理
    • try expect
  • 哈希模块(3条消息) python的hash模块_乐石风华的博客-CSDN博客
    • m = heshlib.md5()--------实例化,建立hash工厂
    • m.update( .encode('utf-8'))放入材料,要投入二进制,所以字符串要编码
  • sys模块
    • sys.modules 显示当前执行代码的位置,解释器中导入的所有的模块都会被放到字典里,描述当前解释器加载到内存中的所有模块
    • sys.path所有内置模块的路径组成的列表,从左到右依次去找,pycharm会自动添加当前路径到列表中,决定一个模块是不是能被导入
    • sys.argv可以从程序的外部输入调试程序
  •