|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 我是python小白 于 2019-4-22 20:38 编辑
包和面向对象
概述:
目前代买比较少,卸载一个文件还体现不出什么缺点,单是随着代码量越来越多,代码就越来越难以维护。
为了解决难以维护的问题,我们打很多相似功能的函数分组,分别放到不同的文件中取。这样每个文件所包含的内容相对较少,而且对于每个文件的大概功能可用文件名来体现。很多函数语言都是这么来举止代码结构。一个。py文件就是一个模板。
优点:
1、提高代码的可维护性
2、提高了代码的复用度,当一个模块完毕,可以被多个地方引用
3、引用其他的模块,(内置模块和三方模块和自定义模块)
4、避免函数和变量名的冲突
使用标准模块
- #引用模块
- import sys
- #获取命令行参数的列表
- for i in sys.argv:
- name = sys.argv[1]
- c= sys.argv[2]
- d = sys.argv[3]
- #自动查找所需模块的路径列表
- print(sys.path)
复制代码 使用自定义模块
一个.py文件就是一个模块
- #自定定义文件 file.py
- def passdd():
- pass
- def printdd():
- print("helloword")
- def ccdd():
- pass
复制代码- #引入模块
- #import语句
- #格式: import modile1 [,module2[, module3[modulen]]]
- #引入了自定义模块,不用加。py后缀
- import file
- #注意:一个模块只会被引入一次,不管你执行了多少次import、防止模块多次引用
- #使用模块中的内容
- #格式:模块名。函数名/变量
- file.passdd()
复制代码- #用from引入模块
- from ..... import 语句
- #作用是:从模块中导入一个指定的部分到当前命名空间
- #格式:from module import name1[,name2 [,...... namen]]
- from sunck import sayGood, sayNice
- #有弊端:程序内的函数可以将陌路爱中同名函数覆盖。
复制代码 使用form.......import *语句
作用:吧一个莫夸中所有的内容全部导入当前命名空间
- from sunck import *
- #最好不用过多的使用
复制代码 (_ _name_ _属性)
- """
- __name__属性:
- 模块就是一个可执行。py文件,一个模块被另一个程序引用。我不想让模块中的某些代码执行,可以用__name__属性来使程序仅调用模块的一部分。
- 每一个模块都有一个__name__属性,当其值等于“__main__"时,表明该模块自身在执行。否则被引入了其他文件
- """
复制代码 包
思考:如果不同的人编写的模块同名怎么办?
解决:为了解决莫夸命名的冲突,引入了按目录来住址模块的方法,称为包
特点:引入了包,只要顶层的包不与其他人发生冲突,那么模块都不会与别人的发生冲突。
目录只有包含--init__.py的文件才被视为是一个包,主要是为了避免一些滥竽充数的名字,基本上目前这个文件中什么也不用写。
第三方的包
安装三方模块,需要知道模块名字
pillow 他是非常强大的处理图像的工具库
pip install pillow 下载库
install --upgrade pip 升级pip
pillow模块
- from PIL import Image
- #打开图片
- im = Image.open("111.jpg")
- #查看图片的信息
- print(im.format,im,seze, im.mode)
- #设置图片的大小
- im.thumbnail(150, 100)
- #保存成新图片
- im.save("temp.jpg", "JPEG")
复制代码 面向对象
什么是面向对象?
数据及数据和操作方法放在一起,作为一个项目依赖整体--对象
通过一个简单的尾部接口与外界发生关系,对像与对象之间通过消息进行通信。
理解面向对象
面向对象的特点:
类与对象的关系:
使用计算机语言就是不断的在描述现实生活中的实物
python中描述事物通过类的形式体现,类是具体实物理念上的定义
对象即是该类实物实实在在的个体
类的定义:
识货中描述事物就是事物的名称/属性和行为
python中用类来描述是事物也是如此
​ 属性:对应类中的成员变量
​ 行为:对应类中的成员方法
定义类其实在定义类中的成员(成员变量和成员方法)
拥有相同属性和行为的对象都可
类的设计
​ 类名:
​ 属性:
​ 行为:
|
|