zoukankan      html  css  js  c++  java
  • Python记录10:模块

    '''
    1.
    什么是模块
        模块就一系列功能的集合体

        模块有三种来源:
            1. 内置的模块
            2. 第三方的模块:pip install +模块名称
            3. 自定义模块

        模块分为四个通用类别
          1 使用python编写的.py文件
          2 已被编译为共享库或DLL的C或C++扩展
          3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
          4 使用C编写并链接到python解释器的内置模块

    2. 为何要用模块
        1. 使用内置模块与第三模块的好处是: 拿来主义,可以极大地提升开发效率
        2. 自定义模块的好处:将程序各部分组件共用的功能放到一个模块里,可以减少代码冗余,提升程序的可维护性

    3. 如何用模块
        其余笔记见run.py

    '''
    # import time
    # # print(time)

     #一 import导入模块
    # 首次导入模块发生三件事:
    # 1. 先创建一个模块的名称空间
    # 2. 运行模块对应的spam.py,将运行过程中产生的名字都丢到模块的名称空间
    # 3. 在当前执行文件中拿到一个名字spam,该名字就是指向模块的名称空间
    # 注意:之后的导入都是直接引用首次导入的成果

    # x=111
    # import spam

    # print(spam.money)
    # print(spam.read1)
    # print(spam.read2)
    # print(spam.change)

    # money=111111111111111111
    # spam.read1()
    # def read1():
    # print('from run.py')
    # spam.read2()

    # money=111111
    # spam.change()
    # print(money)

    # import spam as sm
    # print(sm.money)

    # import导入模块的
    # 优点:不会与当前执行文件中的名字冲突
    # 缺点:必须加上前缀spam.

    # import spam
    # money=111111111111111111111111111111111111111111111
    # print(money)
    # print(spam.money)

    # import os,time,spam


    #二 from...import...导入模块
    # 首次导入模块发生三件事:
    # 1. 先创建一个模块的名称空间
    # 2. 运行模块对应的spam.py,将运行过程中产生的名字都丢到模块的名称空间
    # 3. 在当前执行文件中拿到一个名字money,该名字就是指向模块的名称空间中的那个money
    # x=111
    # money=222222222222222222
    # from spam import money
    #
    # print(money)

    # from...import...导入模块的
    # 优点:不用加上前缀,代码更精简
    # 缺点:容易当前执行文件中的名字冲突

    # money=111111111
    # from spam import money as m
    # print(m)
    # print(money)

    # from spam import money,read1,read2,change

    # print(money)
    # print(read1)
    # print(read2)
    # print(change)

    # money=222222222222222222
    # read1()

    # def read1():
    # print('from run.py')
    # read2()


    #
    # from spam import *
    # print(money)
    # print(read1)
    # print(read2)
    # print(change)

    #查找模块的搜索路径,优先级如下:
    # 1. 内存已经有的模块
    # 2. 内置模块
    # 3. sys.path:第一个值就是当前执行文件所在的文件夹

    # import sys
    # print(sys.path)
    # import spam

    # import time
    # import spam
    # print(spam.money)
    # time.sleep(10)
    # import spam
    # print(spam.money)


    # import time
    # print(time)

    import sys
    sys.path.append(r'D:周末三期day05aaa')
    import spam
    print(spam.money)

    # from aaa import spam
    # print(spam.money)
  • 相关阅读:
    [题解]小B的询问-莫队水题
    [学习笔记]莫队学习笔记[未完待续]
    ffmpeg设置超时时间
    python signal
    pydantic库使用文档
    rtmp及直播流相关资料
    ffmpeg 将视频转换成m3u8视频
    nginx stop失败问题
    linux使用ssh远程登录服务器
    解决Fcitx输入法文字候选无前端问题
  • 原文地址:https://www.cnblogs.com/1832921tongjieducn/p/10070507.html
Copyright © 2011-2022 走看看