• 01-模块


    # 1. 模块

    - 一个模块就是一个包含pytho代码的文件, 后缀名成是.py就可以,模块就是个python文件
    - 为什么我们用模块
      - 程序太大,编写维护非常不方便,需要拆分
      - 模块可以增加代码重复利用的方式
      - 当做命名空间使用,避免命名冲突
    - 如何定义模块
      - 模块就是一个普通文件,所以任何代码可以直接书写,
      - 不过根据模块的规范,最好在模块中编写以下内容
        - 函数(单一功能)
        - 类(相似功能的组合,或者类似业务模块)

    - 如何使用模块
      - 模块直接导入
        - 假如模块名称直接以数字开头,需要借助importlib帮助
      - 语法
        import module_name
        module_name.function_name
        module_name.class_name

        - 案例 01,
    
                # 包含一个学生类,
                # 一个sayhello函数,
                # 一个打印语句
    
                class Student():
                    def __init__(self, name="NoName", age=18):
                        self.name = name
                        self.age = age
    
    
                    def say(self):
                        print("My name is {0}".format(self.name))
    
    
                def sayHello():
                    print("Hi, 欢迎来到图灵学院!")
    
                print("我是模块p01呀,你特么的叫我干毛")
       案例02,
             
             
            # 借助于importlib包可以实现导入以数字开头的模块名称
            import importlib
    
            # 相当于导入了一个叫01的模块并把导入模块赋值给了tuling
            tuling = importlib.import_module("01")
    
    
            stu = tuling.Student()
            stu.say()

    - import 模块 as 别名
      - 导入的同时给模块起一个别名
      - 其余用法跟第一种相同

    import p01 as p
    
    stu = p.Student("yueyue", 18)
     stu.say()

    - from module_name import func_name, class_name
      - 按上述方法有选择性的导入
      - 使用的时候可以直接使用导入的内容,不需要前缀

    - `if __name__ == "__main__` 的使用
      - 可以有效避免模块代码被导入的时候被动执行的问题
      - 建议所欲程序的入口都以此代码为入口

    # 2. 模块的搜索路径和存储

      - 什么是模块的搜索路径:
      - 加载模块的时候,系统会在那些地方寻找此模块
      - 系统默认的模块搜索路径

            import sys
            sys.path 属性可以获取路径列表
            # 案例 p06.py
            import sys
    
            print( type(sys.path ))
            print( sys.path )
    
            for p in sys.path:
                print(p)

    - 添加搜索路径
      sys.path.append(dir)

    - 模块的加载顺序
      1. 上搜索内存中已经加载好的模块
      2. 搜索python的内置模块
      3. 搜索sys.path路径

  • 相关阅读:
    视图集
    子类视图
    Mixin扩展类
    GenericAPIView
    APIView
    ModelSerializer使用
    序列化和反序列化
    合并购物车
    pyplot基本绘制
    STL sort “invalid operator <”
  • 原文地址:https://www.cnblogs.com/zifeng001/p/10825332.html
Copyright © 2020-2023  润新知