1.1模块

什么是模块:

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在python中。一个.py文件就称为一个模块(Module)

使用模块的好处:

提高了代码的可维护性。

其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们编写程序的时候也经常引用其他模块,包括python的内置的模块和第三方模块。

 

包(package)的概念:

如果不同的人编写的模块名相同怎么办?

为了避免模块名冲突,python有引入了按目录组织模块的方法,称为包(Package)

python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

 

一个abc.py的文件就是一个名字叫abc的模块。

假设,我们的abc和qaz这两个模块名字与其他模块冲突了,于是我们可以通过包来组织模块,避免冲突,方法是选择一个顶层的包名比如MyUser。

引入包以后,只要顶层的包名不与别人 冲突,那所有的模块都不会与别人冲突。现在abc.py模块的名字就变成了MyUser.abc,qaz模块名字就变成了MyUser.qaz.

多级包结构:包.包.模块

注:每个包目录下面都会有一个——init——.py文件,这个文件是必须存在的,否则,python就把这个目录当成普通目录,而不是一个包。——init——.py可以是空文件,里面可以有程序代码,因为——init——.py就是一个模块,模块名就是MyUser

 

注:我们自已编写模块名时,尽量不要与内置函数或则模块名字冲突。如同与系统的模块同名,否则无法导入系统自带的模块

 

模块分为3种:

1.自定义模块

2.内置标准模块(又称标准库)

3.第三方模块(开源模块)

 

1.1.1导入模块

 1 #1语法import
 2 import  module1,module2,module3,module4
 3 
 4 #2from  xx import xx 语句
 5 from module  import   name1,name2
 6 
 7 #这个声明不会把module模块导入到当前的命名空间,只会把name1,name2单个引入到执行的程序
 8 
 9 from module.xx  import  name  as rename
10 #把来自于modname.xx的name的重新改了一个名字,去掉用这个模块的方法
11 
12 
13 from module  import   *
14 #这提供了一个简单的方法来导入一个模块中的所有项目。这个导入的模块的方法一般不推荐使用,如果引入的其它来源的命名,很有可能覆盖已有的定义。

 

模块的运行本质

#1
import  test

#2 
from  modname  from  test

 

无论是1,还是2,首先通过sys.pyth找到test.py,然后执行test代码(全部执行)

区别是1会将test这个模块名加载到名字空间,而2只会将test这个变量名加载进来。

 

为模块添加路径

#模块运行时通过sys.path的路径一步一步查找模块的
#导入模块时是根据那个路径作为基准来进行的呢?即:sys.path

#如果sys.path路劲列表中没有你想要的路径,可以通过sys.path.append("路径")来添加
#当前这是临时添加,如需永久添加则需修改系统的环境变量
import os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

 

开源模块安装的常用方法

1 1.yum
2 2.pip
3 3.apt-get

 1.1.2__name__

python解释器把一个特殊变量__name__的值为__main__

#很多模块文件内容里面都有

if __name__=='__main__':
       运行测试代码程序的逻辑


如果我们写的模块文件,需要被别人调用则不会运行下面的程序的逻辑

我们自已使用用,可以些运行整体程序代码的逻辑


自已用的时候 __name__=='__main__' , __name__的变量就等于'__main__',被当作模块导入到其他的文件里时, __name__的变量不等于'__main__'

 

1.2sys模块

1 sys.argv   #在命令行参数是一个空列表,在其他中第一个列表元素中程序本身的路径
2 sys.exit(n) #退出程序,正常退出时exit(0)
3 sys.version  #获取python解释程序的版本信息
4 sys.path #返回模块的搜索路径,初始化时使用python PATH环境变量的值
5 sys.platform #返回操作系统平台的名称
6 sys.stdin    #输入相关
7 sys.stdout  #输出相关  
8 sys.stderror #错误相关
常用sys模块的方法

相关文章:

  • 2022-12-23
  • 2022-02-01
  • 2021-05-18
  • 2021-07-22
  • 2022-12-23
  • 2021-08-13
  • 2021-04-29
猜你喜欢
  • 2021-09-25
  • 2021-08-19
  • 2021-11-15
  • 2021-07-23
  • 2021-04-20
  • 2021-06-12
相关资源
相似解决方案