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

原创 2018年01月01日 00:00:00

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

    模块的存在方式:

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


1、模块分类:

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

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

  • 第三方模块:如requests、math等


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

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

主要语法形式如下:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

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

        import s1

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

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

        import lib.s1

        lib.s1.login()#使用方法

  • 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)

查找优先级:

0?wx_fmt=png

案例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的目录: 

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

0?wx_fmt=png

步骤2:安装wheel

输入:pip3 install requests

0?wx_fmt=png


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


5、模块中的特殊变量:

1)查看所有的内置变量

0?wx_fmt=png

执行结果:

0?wx_fmt=png


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()



版权声明:本文为博主原创文章,未经博主允许不得转载。

Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)

Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
  • wyx100
  • wyx100
  • 2018年01月02日 21:10
  • 157

使用Python处理excel表格(openpyxl)教程

现在有个小任务,需要处理excel中的数据。其实就是简单的筛选,excel玩的不熟练,而且需要处理的表有70多个,于是想着写个脚本处理一下吧。 python中的openpyxl包可以轻松实现读写e...
  • cyjs1988
  • cyjs1988
  • 2017年07月12日 22:38
  • 3115

mac ox环境下python2.7安装openpyxl插件

openpyxl:操作excel2010 xlsx/xlsm的模块下载地址:https://pypi.python.org/pypi/openpyxl下载完成后解压出来。cd /Users/XXX/o...
  • lujiawei00
  • lujiawei00
  • 2018年02月12日 11:54
  • 8

蓝牙模块——基础知识介绍

1.数据透传蓝牙模块可以通过串口(SPI、IIC)和MCU控制设备进行数据传输。蓝牙模块可以做为主机和从机。主机就是能够搜索别的蓝牙模块并主动建立连接,从机则不能主动建立连接,只能等别人连接自己。2....
  • wwt18811707971
  • wwt18811707971
  • 2017年09月04日 14:44
  • 464

蓝牙模块4.0知识百科2

4、目前是否所有手机都能支持低功耗蓝牙? 不是,需要支持蓝牙4.0技术的手机,如苹果、三星、小米、HTC等。 5、低功耗蓝牙4.0是否能够向下兼容之前版本的蓝牙,为什么?   低功耗蓝牙不向下兼容,...
  • szulrica
  • szulrica
  • 2015年05月29日 15:10
  • 283

使用Python处理excel表格(openpyxl)教程

现在有个小任务,需要处理excel中的数据。其实就是简单的筛选,excel玩的不熟练,而且需要处理的表有70多个,于是想着写个脚本处理一下吧。 python中的openpyxl包可以轻松实现读写e...
  • cyjs1988
  • cyjs1988
  • 2017年07月12日 22:38
  • 3115

人工智能学习tensorFlow_gpu-1.1.0图文详细安装教程(64位机win7旗舰sp1+Anaconda3-4.2.0+Pycharm2017.2.4)附所有软件下载地址

tensorFlow_gpu图文安装教程-附所有软件下载地址(64位机win7旗舰sp1+Anaconda3-4.2.0+Pycharm2017.2.4) Anaconda3-4.2.0-Window...
  • wyx100
  • wyx100
  • 2017年11月07日 23:13
  • 514

jQuery知识体系梳理

1. 环境搭建 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中。 引入jQuery文件库  2. jQuery 基础选择器 2-1 #id...
  • laokdidiao
  • laokdidiao
  • 2016年04月12日 02:59
  • 652

linux下模块编译基本知识和格式

Make -c 只编译不链接 Make -C切换到指定目录再执行make过程 make -C $(LINUXROOT) M=$(PWD) EXTRA_CFLAGS="$(EXTRA_FLAGS)" m...
  • Destihang
  • Destihang
  • 2016年02月21日 15:49
  • 614

Android 设置安装后界面显示的apk名

Android 设置安装后界面显示的apk名
  • wyx100
  • wyx100
  • 2015年04月25日 21:28
  • 1805
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python模块知识1:模块知识介绍
举报原因:
原因补充:

(最多只允许输入30个字)