首页 > 其他 > 详细

14天 模块 , 导模块 , 循环导入, 相对,绝对导入, 项目目录规范,

时间:2019-07-16 20:38:57      阅读:71      评论:0      收藏:0      [点我收藏+]

模块

模块:一系列功能的集合体

模块的三种来源:

1.内置的

2.自定义的

3.第三方的

四种表现形式:

  1 使用python编写的.py文件(一个py.文件也可以称之为一个模块)

  2 已被编译为共享库或DLL的C或C++扩展

  3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)

  4 使用C编写并链接到python解释器的内置模块

包:一系列py.文件的结合体.

为什么用模块:

1.用别人写好的模块(内置的,第三方的):典型的拿来主义,极大地提高开发效率.

2.使用自己写的模块(自定义):当程序大,多文件都需要相同的方法时,可以将公共的方法都写在一个py.文件中,当做模块导入

解耦合

区分执行文件和被导入文件

import导入模块

md.py

print(‘from the md.py‘)
money = 1000
def read1():
  print(‘md‘,money)
def read2():
  print(‘md模块‘)
  read1()
def change():
  global money
  money = 0

run.py

import md
右键运行run.py文件首先会创建一个run.py的名称空间
    首次导入模块(md.py)
    1.执行md.py文件
    2.运行md.py文件中的代码将产生的名字与值存放到md.py名称空间中.
    3.在执行文件中产生一个执行名称空间的名字(md)
多次导入不会再执行模块文件,会沿用第一次导入的结果
访问模块中的名字指向的值
print(md.money)
#得到了值
模块名.名字
print(md.read1)
print(md.read2)
print(md.change)
#均得到了函数的地址
import md
money = 9999
print(money)
#得到了当前执行文件的值
def read1():
    print(from run read1)
read1()
#得到当前文件的值
1.只要你能拿到函数名 无论在哪都可以通过函数加括号来调用这个函数(会回到函数定义阶段 依次执行代码)
2.函数在定义阶段 名字查找就已经固定了 不会因为调用位置的变化而改变
使用import导入模块,访问模块名称空间中的名字统一句式:模块名.名字
    1.指名道姓的访问模块中的名字 永远不会与执行文件中的名字冲突
    2.你如果想访问模块中名字 必须用模块名.名字的方式
import os,sys
当几个模块有相同部分或者属于用一个模块,可以使用上面的方法,一行导入多个模块
当几个模块没有联系的情况下 应该分多次导入
import os
import time
import md
ps:通常导入模块的句式会写在文件的开头
import aaaaaaaaaa.py as a
当模块名字比较复杂的情况下 可以给该模块名取别名

 










14天 模块 , 导模块 , 循环导入, 相对,绝对导入, 项目目录规范,

原文:https://www.cnblogs.com/komorebi/p/11197260.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!