码迷,mamicode.com
首页 > 编程语言 > 详细

Python中的模块(2)

时间:2018-01-11 22:23:31      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:内存   选择   连接数   path   pre   mys   完全   django   变量   

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__ == ‘模块的名字‘

Python中的模块(2)

标签:内存   选择   连接数   path   pre   mys   完全   django   变量   

原文地址:https://www.cnblogs.com/qunxiadexiaoxiangjiao/p/8270252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!