Python模块知识1:模块知识介绍

模块是代码的归类,能定义函数、类和变量,把相关的代码分配到一个模块里,能让你的代码更好用,更易懂、也更简洁。模块在java中叫做类库。

模块的存在方式:

模块可以是单个.py文件,也可以是一个文件(里面存放n多个.py文件)。

1、模块分类:

内置模块:如os和sys是两个非常常见的和操作系统交互的模块;file是文件操作相关的模块;比较常用的一些模块如:logging、time/datetime、json/pickle

自定义模块:自己写的py文件或者文件夹(可含多个py文件)

第三方模块:如requests、math等

2、模块的使用:原则是先导入后使用

最好是模块和执行文件放在同一目录,导入方法可以使用import也可以使用from。

主要语法形式如下:

import导入单个模块:比如导入单个.py文件,s1.py,可直接使用import+文件名

import s1

s1.login()#使用s1中的login函数

import导入文件夹下的文件:如s1.py在lib文件夹下,可使用import 文件夹名.文件名

import lib.s1

from导入单个模块:比如导入单个.py文件,s1.py,

from s1 import login

login()

from 一次性导入所有的函数:但是不太推荐这种方式。

from s1 import *

login()

logout()

如果是文件夹的形式,导入后可以设置别名,后续可以使用别名直接调用。

from lib import s1 as lib_s1

from scr import s1 as scr_s1

3、模块的优先级规则:

python会先去项目所在的目录去找,如果不存在,再去python默认的其他目录去找,优先级是从上往下找。具体优先级可查看sys.path

如果文件不在系统查找目录,可以通过append来添加。

案例1:模块查找目录优先级。

import sys

for item in sys.path:

print(item)

查找优先级:

案例2:假设s2不在系统的目录,则可以先添加,再导入s2文件:

import sys

sys.path.append('D:\\')#导入D盘文件夹

import s2#文件名

4、第三方模块的导入

通过pip3安装与下载:

1)pip3 install 模块。python3自带pip3,需要添加pip3的目录到环境变量中,然后即可直接导入模块。

2)pip3 uninstall +卸载模块

导入模块requests

案例:

步骤1:进入目录

开始—cmd,打开命令编辑框,输入如下命令(cd+空格+pip3所在的目录),进入pip3的目录:

输入的命令:cdC:\Users\...\AppData\Local\Programs\Python\Python36\Scripts

步骤2:安装wheel

输入:pip3 install requests

通过下载源码,进行安装,下载源码,然后执行

5、模块中的特殊变量:

1)查看所有的内置变量

执行结果:

2)注释信息__doc__

import s2

print(__doc__ )#获取注释信息,获取py程序文档"""里面的内容

3)获取当前程序所在路径__file__

# print(__file__)#获取当前程序所在的路径

import os

print(os.path.abspath(__file__))#C:\Users\...\PycharmProjects\study2017\s2.py

print(os.path.dirname(os.path.abspath(__file__)))#C:\Users\...\PycharmProjects\study2017

print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#C:\Users\...\PycharmProjects

4) print(__package__)#获取程序所在的包,文件import哪个包就在哪个里面,如果自己的包,则显示None。

5)主文件执行__name__=="__main__"

#只有执行当前文件时才执行。当前文件的特殊变量__name__=="__main__",如果是导入的时候,就不执行,因此在主文件中可以这么写,这样可以限制,只在主程序执行,作为模块导入时不执行

def run():#定义run函数

print("run")

run()

if __name__=="__main__":#只在主程序内运行

run()

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180120A0NQA600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券