模块——day15

什么是模块
模块就是一系列功能的集合
体模块分为四个通用的类别:
1.使用python编写的.py文件
2.已被编译为共享库或DLL的c或c++扩展
3.把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件。该文件称之为包)
4.使用c编写并连接到python解释器的内置模块
模块有三种来源:
1.内置模块
2.第三方模块
3.自定义模块

————————————————————————————————————

为何要用模块
1.使用内置的或者第三方的模块的好处是:拿来主义,极大提升开发效率
2.使用自定义的模块的好处是:将程序各部分组件共用的功能提取取出放到一个模块里,其他的组件通过导入的方式使用该模块,该模块,好处是可以减少代码冗余
3如何使用模块
首次导入模块会发生三件事
1.会产生一个模块的名称空间
2.执行spam.py文件的内容,将产生的名字丢到模块的名称空间里
3.在当前执行文件中拿到名字read1,该名字指向模块的名称空间的read1


import总结
优点:指名道姓地问某一个名称空间要名字,不会与当前执行文件名称空间的名字冲突
缺点:引用模块中的名字必须加前缀(模块名),使用不够简洁

from...import总结
优点:引用模块中的名字不用加前缀(模块名.),使用更简洁
缺点:容易与当前执行文件名称空间中的名字冲突


————————————————————————————————————

模块探索路径的优先级
1.内存
2.内置模块
3.sys.path(是以执行文件为准的)******

————————————————————————————————————

def f1():
print('f1')

def f2():
print('f2')

if __name__ == '__main__':当文件被当作模块导入时__name__的值为模块名mmm
f1()
f2()

print(__name__)
当文件被当作执行文件执行时__name__的值为__main__

improt os
print (os.path.dirname())————拿执行文件的文件夹(重复取会一直获取上一层文件)

pycharm 新开始一个项目建目录应该建在更目录下

posted @ 2018-12-04 16:13  WenChen-0o0  阅读(117)  评论(0编辑  收藏  举报