• Python 模块A(import和from import的比较)


    模块的四种形式

    1. 自定义模块,例如自己定义的common.py就叫common模块
    2. 内置模块:python解释器自带的,不需要安装
    3. 第三方模块:需要自己安装,13万个库,无所不能,写库(弄得更简单)
    4. 包—>含有__inti__.py的文件夹,一种特殊的模块(解决了一个问题)

    注意:2和3的模块会用就可以了,但是1和4模块需要掌握

    import 实现原理

    例如 from time

    1. 在内存中生成一个叫做time的名称空间
    2. 运行time.py文件,然后把time.py文件内的名称空间放入time的名称空间内
    3. 把time的名称空间指向import和from….import.py(当前导入time模块的文件)的名称空间

    使用import time导入的时候,使用方法只能time.方法名( ),不能直接方法名

    注意:

    1. 当解释器遇到import语句,如果模块在当前色搜索路径就会被导入(搜索路径是一个解释器会先进行搜索的所有目录的列表)。需要把import命令放在代码的顶端
    2. 一个模块只会被导入一次,不管你执行了多少次import

    from ….import实现原理

    例如 from time import gmtime

    1. 在内存中生成一个叫做time的名称文件
    2. 运行time.py文件,然后把time.py文件内的名称空间放入time的名称空间内
    3. 把gmtime方法指向import和from….import.py(当前导入time模块的文件)的名称空间内

    可以直接使用方法() 来使用相关方法

    from…import*

    ​ 既可以只使用方法名加括号使用模块里的方法,还可以使用所有的方法,例如:from math import *, 可以一次性引入模块中的所有东西 但是不应该频繁使用,有可能会造成冲突,例如用math下的power方法,power(),有可能你在后面自己定义了一个叫power()的函数,这样调用就会有问题

    模块的搜索路径

    1. 先从内存中找
    
    
    from m2 import y
    import time
    time.sleep(10)
    
    print(y)
    
    # 在sleep的10s内删除了m2,但是依然能运行,
    
    
    
    2. 从内置模块里面找
    
    
    from time import time
    print(time)
    
    3. 自定制模块
    
    	就是在自己定义完的模块里面开始找
    
    4. 环境变量
    
    
    #项目的执行文件中一定要弄一个环境变量,将模块所在的目录包含在环境变量中
    
    '''
    例如我写一个模块test.py,里面有方法f1,路径是D:模块
    那就应该使用下面这句话
    '''
    
    import sys
    sys.path.append(r'D:模块')
    
    
    

    import xxx 和 from xxx import xxx的比较

    戳这 ==> import 和 from xxx import xxx

  • 相关阅读:
    Valid Palindrome
    Path Sum II
    Reverse Integer
    Palindrome Number
    ZigZag Conversion
    函数调用堆栈 涉及汇编(转)
    关于字符指针和字符数组初始化的问题
    Remove Element(第一种方法参考别人)
    c内存分配(转)
    int *ptr=(int *)(&a+1)问题的探讨
  • 原文地址:https://www.cnblogs.com/michealjy/p/11358551.html
Copyright © 2020-2023  润新知