Python内置模块和第三方模块
Python的强大之处在于他有非常丰富和强大的标准库和第三方库(模块),几乎你想实现的任何功能都有相应的Python库支持,就类似于C#中的类库亦或JAVA的jar包,前端中的JS库。
使用模块有什么好处
其实模块化这个概念在任何的编程语言中都是存在的,可以想象一下,如果一直在一个文件里面编写的代码,那么代码会越来越长,后期很难维护和升级。
为了编写可维护的代码,我们会对代码进行拆分,分到不同的文件里面,这样每个文件的代码量就少了,在python中,一个.py文件就可以理解为一个模块,模块之间可以互相引用。
除了可以自己编写模块以外python还给我们内置了一些模块称为标准库,还有需要单独安装的第三方库
模块导入方法
我们已经知道每一个.py文件其实就是一个模块,那么我们来动手编写一个模块
#内容为module1.py
message="hello world"
def say():print("hello")
模块定义好了在其他文件中入如何导入模块
import module1
如果导入多个模块以逗号分隔,如import module_name1,module_name2
#newdemo.py 新创建的py文件中到入模块,并访问模块下方法
#第一种导入方式
import module1
module1.say()
#第二种导入方式
from module1 import *
say()
运行一下发现上面的两种导入方式都没毛病,都可以正常运行,我们来对比下两种导入方式:
- 调用方式不同
- 前者是 将被导入的模块的名称放入到当前的模块内; 而后者 是将被导入的函数或变量的名称放入到当前操作的模块内。
- from ...import提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。
- from ...import导入会和你文件内的函数、变量名称不能冲突会被覆盖(解决方案看代码)
#为了防止名称冲突,通过as起一个别名
from module1 import say as newsay
def say():print("不是导入模块的say")
say() #自己的
newsay() #引来的
导入模块我们已经会了,那导入包和导入模块一样么,显然不会一样
import package_test #导入包的时候会先执行 __init__下的内容
# 在__init__中from . import test1
print(package_test.test1.name)
内置模块
一般情况下它们的存放目录
标准库:应该如何使用标准库:
1.datetime模块:datetime模块是对time模块的一个高级封装(time包基于C语言的库函数)
#前面刚说了模块的不同导入方式,第一种
import datetime
print(datetime.datetime.now()) #当前时间 2017-12-27 10:05:16.684310
print(datetime.date.today()) #格式化输出 2017-12-27
print(datetime.datetime.now()+datetime.timedelta(days=10)) #比现在加10天
print(datetime.datetime.now()+datetime.timedelta(days=-10)) #比现在减10天
print(datetime.datetime.now()+datetime.timedelta(hours=-10)) #比现在减10小时
print(datetime.datetime.now()+datetime.timedelta(seconds=120)) #比现在+120s
#第二种
from datetime import datetime
print(datetime.now()) #当前时间 2017-12-27 10:05:16.684310
2.random模块:Python中的random模块用于生成随机数
import random
print(random.random()) #用于生成一个0到1的随机符点数: 0 <= n < 1.0
print(random.randint(1,7))#用于生成一个指定范围内的整数,包含1 和 7
print(random.randrange(1,3))#随机指定范围内的整数,不包含3
print(random.choice('lidao'))#随机字符
print(random.choice(['aa','bb','cc']))#随机在列表中取值
print(random.randrange(1,9000)+1000)#生成四位数字验证码
3.sys模块:sys模块提供了一系列有关Python运行环境的变量和函数
import sysprint(sys.platform) #获取当前执行环境的平台,如win32表示是Windows 32bit操作系统,linux2表示是linux平台;
print(sys.path) #path是一个目录列表,供Python从中查找第三方扩展模块。在python启动时,sys.path根据内建规则、PYTHONPATH变量进行初始化。
print(sys.builtin_module_names) #返回一个列表,包含内建模块的名字
print(sys.argv) #可以用sys.argv获取当前正在执行的命令行参数的参数列表(list) sys.argv[0] 当前程序名 sys.argv[1] 第一个参数
4.os模块:os模块包含普遍的操作系统功能,如文件操作、目录等,与具体的平台无关
import osprint(os.name) #判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'
print(os.getcwd())#得到当前工作的目录
os.rename("game.py","game1.py")#文件重命名
print(os.listdir())#指定所有目录下所有的文件和目录名
print(os.mkdir("aa"))#创建目录
print(os.system("dir"))#执行shell命令
当然上面只是简单让大家先了解下内置模块的使用,方法还有很多,后面在案例遇到的时候呢我们再去列出来。
第三方模块
1.xlrd模块:Python使用xlrd模块读写Excel文件
#第一步:通过pip install xlrd 安装
#第二步:导入模块
import xlrd
#第三步:读取数据
data = xlrd.open_workbook('test.xlsx')
table=data.sheets()[0] #通过索引顺序获取工作表
print(table.row_values(0)) #整行
print(table.col_values(0)) #整列
print(table.nrows) #行数
print(table.ncols) #列数
#通过循环行列表数据
for i in range(table.nrows):print(table.row_values(i))
print(table.cell(0,0).value) #单元格
2.xpinyin模块:一个把汉字转成拼音的模块
#pip install xpinyin
from xpinyin import Pinyin
p=Pinyin()
print(p.get_pinyin("北京"))
3.Image模块:Python操作图像的模块
from PIL import Image
import os#pip install Imageim=Image.open("test.jpg") #加载图像
#im.show() #打开图片
#创建缩略图
im.thumbnail((500,500))#thumbnail函数接受一个元组作为参数,分别对应着缩略图的宽高,在缩略时,函数会保持图片的宽高比例。如果输入的参数宽高和原图像宽高比不同,则会依据最小对应边进行原比例缩放。
im.save("newtest.jpg","JPEG")
#图像裁剪
region=im.crop((100,100,300,200))
region.save("croptest.jpeg")
# 旋转图片
# 左旋转45度
im = im.rotate(45)
im.save("rotate-l45.jpeg")
Python有很多非常有意思的模块和资源,给大家贴一个地址,自己看看哈https://github.com/jobbole/aw...
Python内置模块和第三方模块相关推荐
- python常用内置模块-Python内置模块和第三方模块
Python的强大之处在于他有非常丰富和强大的标准库和第三方库(模块),几乎你想实现的任何功能都有相应的Python库支持,就类似于C#中的类库亦或JAVA的jar包,前端中的JS库. 使用模块有什么 ...
- Python学习笔记:第三方模块2
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python如何离线安装第三方模块_扣丁学堂python开发之第三方模块pip离线安装
扣丁学堂python开发之第三方模块pip离线安装 2018-08-14 14:02:22 747浏览 最近很多参加Python培训的同学说在学习过程中需要安装一些第三方的模块,今天小编就来给大家讲一 ...
- python玩王者荣耀皮肤碎片怎么获得_用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例...
本文使用python的第三方模块requests爬取王者荣耀所有英雄的图片,并将图片按每个英雄为一个目录存入文件夹中,方便用作桌面壁纸 下面时具体的代码,已通过python3.6测试,可以成功运行: ...
- mac如何导入python第三方库_Mac系统中python idle导入第三方模块成功,ecplise导入python第三方模块失败解决方法...
遇到一个比较纠结了4个月的问题,一直没有在意,今天实在忍受不了,尝试各种解决办法,终于把这个烦人的问题完美解决,不敢独享,写出来和各位大神共享. 问题:在mac OSx操作系统下,安装了python第 ...
- Python学习之==第三方模块的安装、模块导入
一.模块&包 1.模块 模块实质上就是一个Python文件,它是用来组织代码的.意思就是把Python代码写在里面,文件名就是模块的名称.例如:random.py,random就是模块的名称. ...
- 收藏吃灰,1024推荐2款Python趣味的第三方模块吧
文章目录 ⛳️ 写作前的描绘 ⛳️ speedtest 实战场景 ⛳️ emoji 实战场景 ⛳️ 写作前的描绘 这篇博客会为大家推荐 2 款可以进收藏夹的第三方小模块,其中一个用于网速测试,一个用于 ...
- python 内置模块 增加_模块的内置方法--Python提高班
这期的话题有点简单, 整理下常见的模块内置方法 刚开始学Python的时候, 看到if __name__ == '__main__': main()就不明觉厉了, 一直好奇__name__这货到底是个 ...
- Python 内置模块之 时间模块 time
time模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar 必要说明: 这个模块的功能不是适用于所有的平台 这个模块中定义的大部分函数是调用C平台上的同名函数 ...
最新文章
- (0028)iOS 开发之Xcode使用技巧
- Nagios 安装配置
- 树莓派 自动设置分辨率
- 构建可读性更高的 ASP.NET Core 路由
- C#之xml配置文件读写
- 【Sql查询数据】for 日、月、年
- Linux下常用的优秀软件
- SpringBoot项目报错:The field content exceeds its maximum permitted size of 1048576 bytes
- InternetDownloadManager(6.30.8)下载利器IDM破解版
- Python-.item()的理解与使用
- s3c2440存储控制器详解
- echart 重新加载
- 遇到无法打出的字怎么办?
- Selenium_获取相对坐标
- 接码平台源码_你的票被服务器上的爬虫“吃”了,本文解析爬虫抢票的源码!...
- Java的Lambda表达式实例
- Vert.x开发指南
- 云服务器如何绑定域名(腾讯云域名如何绑定ip)
- Life is short(人生如此短暂)
- 傲慢与偏见之 - 防火墙与竞争力
热门文章
- [摘]IIS上部署WCF的问题
- 使用httpclient4.3.2来实现微信临时素材的上传
- dos命令测试网络连通情况
- 单招计算机英语面试口语,单招面试英语自我介绍范文 自我介绍说什么
- xml中的Document和Attribute
- oracle单表存储记录,oracle从各个表获得数据保存到另一个表
- java实现语音发送,Java实现发送手机短信语音验证功能代码实例
- python序列化对象的函数_使 Python 对象可序列化的函数
- php日志文件过大,Windows服务器系统下Apache的error.log文件过大的解决办法
- huffman算法c语言实验报告,huffman二叉树实验报告--数据结构(c语言).doc