鱼C论坛

 找回密码
 立即注册
查看: 1636|回复: 0

[学习笔记] 包和面向对象

[复制链接]
发表于 2019-4-22 20:28:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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中用类来描述是事物也是如此

​        属性:对应类中的成员变量

​        行为:对应类中的成员方法

定义类其实在定义类中的成员(成员变量和成员方法)

拥有相同属性和行为的对象都可

类的设计

​        类名:

​        属性:

​        行为:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 10:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表