python中哪个符号⽤于从包中导⼊模块_Python语⾔之模块和
包
本⽂主要向⼤家介绍了Python语⾔之模块和包,通过具体的内容向⼤家展⽰,希望对⼤家学习Python语⾔有所帮助。
⼀ Python模块简介
Python模块:
可以将代码量较⼤的程序分割成多个有组织,彼此间独⽴但⼜能互相交互的代码⽚段,这些⾃我包含的有组织的代码段就是模块
模块在物理形式上表现为以.py 结尾的代码⽂件
⼀个⽂件被看做⼀个独⽴的模块,⼀个模块也可以被看做是⼀个⽂件
模块的⽂件名就是模块的名字加上扩展名.py
每个模块都有⾃⼰的 名称空间
Python 允许“导⼊”其他模块以实现代码重⽤,从⽽也实现了将独⽴的代码⽂件组织成更⼤的程序系统
Python 中,模块也是对象
在⼀个模块的顶层定义(全局变量)的所有变量都在被导⼊时成为了被导⼊模块的属性
⼆ Python 程序架构:
⼀个Python程序通常包括⼀个顶层⽂件和其他的模块⽂件(0个,1个或多个)
顶层⽂件:包含了程序的主要控制流程
模块⽂件:为顶层⽂件或其他模块提供各种功能性组件
模块⾸次导⼊(或重载)时,Python会⽴即执⾏模块⽂件的顶层程序代码(不在函数内的代码),⽽位于函数体内的代码直到函数被调⽤后才会执⾏
Python⾃带的模块称为Python的标准库模块
模块搜索:
Python解释器在import 模块是必须先到对应的模块⽂件
程序的主⽬录
PYTHONPATH(如果设置了此变量)
标准链接库⽬录
任何.pth⽂件的内容(如果存在.pth⽂件)
这四个组件组合起来及sys.path所包含的路径,⽽Python 会选择在搜索路径中的第⼀个符号导⼊⽂件名的⽂件
模块的导⼊需要⼀个叫做“路径搜索”的过程,即在⽂件系统“预定义区域”中查mymodule ⽂件,这些预定义区域只不过是你的python搜索路径的集合,路径搜索和搜索路径是两个不同的概念,前者是指查某个⽂件的操作,后者是去查询⼀组⽬录。
默认搜索路径是在编译或安装时指定的,它可以在⼀个或两个地⽅修改
⼀个是启动 Python 的 shell 或命令⾏的 PYTHONPATH 环境变量。 该变量的内容是⼀组⽤冒号分割的⽬录路径。 如果你想让解释器使⽤这个变量, 那么请确保在启动解释器或执⾏ Python 脚本前设置或修改了该变量。
解释器启动之后, 也可以访问这个搜索路径, 它会被保存在 sys 模块的 sys.path 变量⾥。不过它已经不是冒号分割的字符串, ⽽是包含每个独⽴路径的列表。下⾯是⼀个 Unix 机器搜索路径的样例。切记, 搜索路径在不同系统下⼀般是不同的。
这是⼀个列表,因此我们可以进⾏修改,如果你需要导⼊的模块的⽬录不在sys.path中,则可以使⽤append()进⾏对此列表操作,以导⼊此模块
将上述⽬录加⼊到sys.path中
查看
模块导⼊
python默认安装路径只要这个列表中包含这个⽂件,它就会被正确的导⼊,当然,这个⽅法是将其导⼊到⽂件的尾部,也可以使⽤insert()将其导⼊指定位置
三 pycharm中模块的导⼊
1 同⼀个⽂件夹中的配置
A 定义⼀个被导⼊的模块
B 导⼊模块到⽬标模块
C使⽤name获取模块的名称,当为模块内部时其值为mian,若为导⼊的,则其名为模块名
⼀个模块⽂件可以同时⽀持顶层执⾏(作为顶层⽂件)或被导⼊(作为模块⽂件)
每个模块都有个名为name的内置属性,python会⾃动设置该属性
如果⽂件是以顶层程序⽂件执⾏,在启动时,name的值为“main”
如果是被导⼊,则name的值为模块名
可以在模块⽂件中检测⾃⼰的name顺序ing,以之实现在执⾏时运⾏指定的代码,常⽤于模块的⾃我测试
D将其导⼊执⾏模块进⾏查看:
E使⽤if语句进⾏判断,已达到不将被导⼊模块的执⾏结果在导⼊模块中执⾏:
F将其导⼊并验证
G将该配置导⼊到指定模板:(ctrl+alt+s)进⾏打开其配置:
2 将被导⼊模块和导⼊模块放置在不同的⽂件夹中
包:包⽤于将⼀组模块归并到⼀个⽬录中,此⽬录及为包,⽬录名及为包名
包是⼀个有层次的⽂件⽬录结构,定义了⼀个由模块和⼦包组成的Python应⽤程序执⾏环境
基于包,Python在执⾏模块导⼊时可以指定模块的导⼊路径
Import d1
要使⽤如下的package1,则py_pkg_mod容器必须要在模块中搜索路径中
Import d1
包导⼊语句的路径内的每个⽬录内都必须有init.py ⽂件
init.py可包含python代码,但通常为空,仅⽤于扮演包初始化的挂钩、替⽬录产⽣模块命名空间以及使⽤⽬录导⼊时实现from* ⾏为的⾓⾊
pycharm中包的创建:
使⽤alt+ins快捷键可以指定创建的是⽂件还是包,Python package为带有init.py的Python包。
A修改其配置使得不同⽂件夹的⽂件可以直接导⼊(选择Sources Root)
B再次执⾏则可以进⾏导⼊并运⾏:
C取消则不能运⾏:
D在被导⼊模块所在的⽂件夹创建init.py的⽂件并将其本地模块导⼊到此init.py⽂件中
E在⽬标⽂件中导⼊该模块并运⾏,则可以正常运⾏
3 from ... import ...的应⽤
1 For-import 语句
常⽤于导⼊指定模块放⼊部分属性⾄当前名称空间(不需要加上该模块的名称)
From module import name1[,name2[nameN]]
Import 和 from都是隐形赋值语句
Import 将整个模块对象赋值给⼀个变量名(模块名)
From 将⼀个或多个变量名赋值给导⼊此模块的模块中的同名对象,如果当前环境中有与导⼊模块相同的名称,其将会被新导⼊的名称所覆盖
模块就是名称空间
2 import的⼯作机制
1 到模块⽂件
在指定的路径下搜索模块⽂件
2 编译成字节码
⽂件导⼊时就会编译,因此,顶层⽂件的.pyc 字节码⽂件在内部使⽤后会被丢弃,只有被导⼊的⽂件才会留下.pyc⽂件
3 执⾏模块的代码来创建其所定义的对象
模块⽂件中的所有语句会依次执⾏,从头⾄尾,⽽此步骤中任何对变量名的复制运算,都会产⽣所得到的模块⽂件的属性
注意:模块只在第⼀次导⼊时才会执⾏如上步骤,
后续的导⼊操作只不过是提取内存中已加载的模块对象
reload()可⽤于重新加载模块
A 相同⽂件夹的模块导⼊:
B 全局变量的定义
C 导⼊全局变量并运⾏,则可以运⾏。
D 导⼊函数并运⾏,则可以运⾏。
E 修改导⼊模块的模块名或函数、装饰器名使⽤as 即可修改:
四 、第三⽅模块的安装
基本信息的获取相关的软件:(itchat)
1 下载并安装Python-pip
如此则表⽰安装成功:
2 安装itchat(插件)
在联⽹的状况下进⾏安装
使⽤pip安装
2 使⽤pycharm安装
使⽤ctrl+alt+s进⼊此界⾯并按右上⾓的加号(+)
进⼊之进⾏查itchat,并按左下⾓的intall Package 即可安装
本⽂由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语⾔Python频道!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论