• Python中的模块(2)


    1。内置模块
    2。扩展的 例如:django
    3。自定义的

    文件
    import demo
    def read():
    print('my read func')
    demo.read()
    print(demo.money)

    先从sys.modules里查看是否已经被导入
    如果没有被导入,就依据sys.path路径取寻找模块
    找到了就导入
    创建这个模块的命名空间
    执行文件,把文件中的名字都放到命名空间里



    import sys
    print(sys.modules.keys())
    print(sys.path)

    import time as t
    print(t.time())

    import *** as ***用于:
      oracle
      mysql
      if 数据库 == ‘oracle’:
      import oracle as db
      elif 数据库 == ‘mysql’:
       import mysql as db
      连接数据库 db.connect
      登录认证
      增删改查
      关闭数据库
    像是数据库这种的,可以通过匹配选择as ***最终用一个变量名来执行就可以。

    所有的模块导入都应该尽量往上写
    内置模块
    扩展模块
    自定义模块
    模块不会重复被导入 : sys.moudles
    从哪儿导入模块 : sys.path

    mport 模块名
    模块名.变量名 和本文件中的变量名完全不冲突
    import 模块名 as 重命名的模块名 : 提高代码的兼容性
    import 模块1,模块2

    from 模块名 import 变量名
    直接使用 变量名 就可以完成操作
    如果本文件中有相同的变量名会发生冲突

    from 模块名 import *
    将模块中的所有变量名都放到内存中
    如果本文件中有相同的变量名会发生冲突

    from 模块名 import * 和 __all__ 是一对
    没有这个变量,就会导入所有的名字
    如果有all 只导入all列表中的名字

    __name__
    在模块中 有一个变量__name__,
    当我们直接执行这个模块的时候,__name__ == '__main__'
    当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
  • 相关阅读:
    coursera 《现代操作系统》 -- 第五周 同步机制(2)
    coursera 《现代操作系统》 -- 第五周 同步机制(1)
    coursera 《现代操作系统》 -- 第四周 处理器调度
    coursera 《现代操作系统》
    路由器WAN端与LAN端的区别
    如何查看与刷新DNS本地缓存
    国内外常用的DNS服务器
    PPPOE协议
    WDS 的两种实现方式
    wifi基础知识整理
  • 原文地址:https://www.cnblogs.com/qunxiadexiaoxiangjiao/p/8270252.html
Copyright © 2020-2023  润新知