模块的使用
-
模块概述
-
目前代码比较少,写在一个文件中还体现不出什么缺点,但是随着代码量越来越多,代码就越来越难以维护
-
为了解决难以维护的问题,我们把很多相似功能的函数分组,分别放到不同的文件中取。这样每个文件所包含的内容相对较少,而且对于每一个文件的大致功能可用文件名来体现。很多编程语言都是这么来组织代码结构。一个.py文件就是一个模块
-
-
模块优点
-
提供代码的可维护性
-
提高了代码的复用度 ,当一个模块完毕,可以被多个地方引用
-
-
避免函数名和变量名的冲突
-
-
使用标准库中的模块
-
引入模块 import sys
-
获取命令行参数的列表
-
sys.argv
-
name = sys.argv[1]
-
age = sys.argv[2]
-
-
自动查找所需模块的路径的列表
-
sys.path
-
-
-
使用 自定义模块
-
一个.py文件就是一个模块
-
引入模块1
-
import 语句
-
格式: import module1,module2 ,module3.........,modulen
-
-
import sunck
-
引入了自定义模块,不用加.py后缀
-
注意:一个模块只会被引入一次,不管你执行了多少次import,防止模块被多次引入
-
使用模块中的内容
-
格式: 模块名.函数名/变量名
-
-
-
-
引入模块2
-
from ......import 语句
-
作用:从模块中导入一个指定的部分到当前命名空间
-
格式: from module import name1,name2,......,namen
-
-
from sunck import sayGood
-
从sunck.py 中导入sayGood这个函数到另外一个.py文件
-
程序内部的函数可以将模块中的同名函数覆盖
-
-
-
引入模块3
-
from......import * 语句
-
把一个模块中所有的内容全部导入当前命名空间
-
-
from sunck import *
-
从sunck.py中导入所有的内容到另外一个.py文件中
-
最好不要过多的使用
-
-
-
-
__ name__属性
-
模块就是一个可执行的.py文件,一个模块被另一个程序引入。我不想让模块中的某些代码执行,可以用__ name__属性来使程序仅调用模块中的一部分
-
每一个模块都有一个__ name__ 属性,当其值等于 "__ main __ "时,表明该模块自身在执行,否则被引入其他文件
-
当前文件如果为程序的入口文件,则__ name __ 属性的值为 __ main __
-
-
包
-
解决:为了解决模块命名的冲突,引入了按目录来组织模块的方法,称为包
-
特点:引入了包以后,只要顶层的包不与其他人发生冲突,那么模块都不会与别人的发生冲突
-
注意:目录只有包含一个叫做"__ init __.py" 的文件才被认作是一个包,主要是为了避免一些滥宇充数的名字,基本上目前这个文件什么都不用写
-
在a目录有个sunck.py文件 和b目录下有个sunck.py 文件
-
那么在同一个文件导入这两个文件
-
import a.sunck import b.sunck 套目录是为了区两个同名的文件
-
-
-
安装第三方模块
-
windows:勾选了pip 和Add python.exe to path
-
Mac : 无需安装
-
Linux : 无需安装
-
要安装三方模块,需要知道模块的名字
-
#Pillow 非常强大的处理图像的工具库
-
pip install Pillow
-
-
windows如果报错了 就需入 pip install --upgrade pip
-
引入了第三方库
-
from PIL import Image
-
打开图片
-
im = Image.open("111.jpg")
-
查看图片的信息
-
print(im.format,im.size,im.mode)
-
-
设置图片的大小
-
im.thumbnail((150,100))
-
-
保存成新图片
-
im.save("temp.jpg","JPEG")
-
-
-
-
-

浙公网安备 33010602011771号