模块让你能够有逻辑地组织你的Python代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

模块也是Python对象,具有随机的名字属性用来绑定或引用。

简单地说,模块就是一个保存了Python代码的文件,能起代码归类的作用。模块能定义函数,类和变量。模块里也能包含可执行的代码。

Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用。

在python中称之为模块,而在其他语言中称之为类库,在使用模块的时候需要【先导入】后【使用】。

import s1
import lib.com

s1.f1()
lib.com.f1()
			
# 输出
this is s1.py
lib/com.py

模块分为三种:

  • 自定义模块
  • 第三方模块
  • 内置模块

自定义模块

在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。

模块的名称很重要,在创建模块名时,一定不要和内置模块重名。

写一个自己的模块(模块文件要和代码文件在同一目录下)

#vim moudle_test.py

#!/usr/bin/env python3
def f1():
    print ('自定义 moudle')


# 调用
#vim test.py
#!/usr/bin/env python3

# 导入自定义模块
import moudle_test
moudle_test.f1()

导入模块有以下几种方法:

import module
from module.xx.xx import xx
from module.xx.xx import xx as rename  
from module.xx.xx import *

import:

import s1


s1.f1()
# 输出
this is s1.py
		

from:

from s1 import login

login()

# 输出
this is s1.login()
			

# 从文件夹中导入模块
from lib import commons
			

# 取别名
from src import commons as src_commons
		
		

单模块推荐使用import,如果是嵌套在文件下推荐使用from xxx import xxx,也可以加as 来设置别名

导入模块其实就是告诉Python解释器去解释哪个py文件

  • 导入一个py文件,解释器解释该py文件
  • 导入一个包,解释器解释该包下的__init__.py文件【py2.7】

那么问题来了,导入模块时是根据哪个路径作为基准进行的呢?

import sys

for item in sys.path:
    print(item)

如果sys.path路径列表没有你想要的路径,可以通过sys.path.append('路径')添加。

通过os模块可以获取各种目录,例如:

import sys
import os

pre_path = os.path.abspath('../')
sys.path.append(pre_path)

第三方模块

非Python本身自带的模块,就是所谓的第三方模块,那如下载使用第三方模块呢:

1.pip3

pip3 install requests

2.源码

  • 下载源码包
  • 解压
  • python3 setup.py install

内置模块

在介绍内置模块之前先补习一个知识点,就是python模块中特殊变量('*'开头的为常用):

__doc__      获取文件的注释

__cached__   获取字节码存放的位置

*__file__         获取当前py文件所在的路径

*__name__     性:只有执行当前文件时,当前文件的特殊变量__name__ == "__main__",一般在主文件里这么写

__package__ 获取文件在哪个包里面

from bin import admin
    print(admin__package__)

# 输出
bin

sys模块

用于提供对Python解释器相关的操作:

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdin          输入相关
sys.stdout         输出相关
sys.stderror       错误相关
 1 import sys,time
 2 
 3 
 4 def view_bar(num,total):
 5     rate = num / total
 6     rate_num = int(rate * 100)
 7     r = '\r%s>%d%%' % ("="*num, rate_num )  # \r回到当前行的首个位置
 8     sys.stdout.write(r)
 9     sys.stdout.flush()
10 
11 
12 if __name__ == '__main__':
13     for i in range(0, 101):
14         time.sleep(0.1)
15         view_bar(i,100)
进度条

相关文章:

  • 2021-06-27
  • 2022-01-31
  • 2021-06-07
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2022-12-23
猜你喜欢
  • 2022-02-16
  • 2021-07-29
  • 2021-06-20
  • 2022-02-20
  • 2018-12-20
  • 2021-08-06
相关资源
相似解决方案