Python进阶_I/O进阶学习笔记_1.抽象、面向对象、

前言:
是自己在学习python进阶IO学习视频的时候的理解和笔记,因为很多都是本菜鸟学习时候的自己的理解,有可能理解有误。
Content:
- 抽象的概念和面向对象的概念?想要大概了解python的面向对象需要注意哪些知识点?
- 由type、object、class来了解python对象的机制和特性
- python提供了哪些常用的内置类型?(被抽象成类)
一  抽象和面向对象和类
    在python基础教程书中,有一章名字是抽象,在学习的时候,我还曾经把这里面抽象的概念和后面抽象基类的概念弄混淆。
    1.抽象的概念
    从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。 --baidu
 在编程中,最简单的抽象概念就是计算机能理解的一步一步的计算步骤抽象成类或者函数来进行调用,方便人进行抽象理解也方便重用(过程抽象)。
    最开始的编程历史中就和我们初学编程一样,都是过程抽象(结构化设计方法),但是经过发展慢慢发现仅仅是结构化设计已经满足不了我们了,于是有了对面向对象的需求。
    2.面向对象的概念
    面向对象是一种对现实世界理解和抽象的方法,是计算机编程发展到一定阶段后,产生的一种软件开发方法。 --baidu
    面向对象中的对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 --baidu
    三大特性:封装、继承、多态。
    3.类的概念
    具有相同特性和行为的对象的抽象就是类。对象的抽象是类,类的具体是对象。类有属性和操作。
    4.python面向对象的设计
    1、2、3中算是编程中的基本概念吧,python中的面向对象设计理念和其他静态语言还是有所区别的。
    a)python面向对象方法中一些比较重要的知识点(不详解)
        鸭子类型、抽象基类、继承的时候的查找算法和super函数、静态方法、类方法、实例方法、python的数据封装和私有属性
    b)python中一切皆对象,类和函数也是对象。
    c)  类和函数在python中作为对象有哪些特质?
        - 可以赋值给一个变量
        - 可以添加到集合对象中
        - 可以作为参数传递给函数
        - 可以当作函数的返回值

 

二  type、object和class
       在看这段之前,需要先看python基础明白继承和实例的概念,还有父类和基类。
  1.type可以用来返回一个对象的类型
         a)当a是普通int、str类型时
         
 
  
这个结果很好玩,可以发现1的类型是int,int的类型是type。还有type的类型竟然也是type。
可以得出 type类生成了int类,int类(也是对象)生成了 a这个实例
也就是 type--》class--》object
b)如果当a是一个自定义类的时候呢?
 
a是Student类型,Student是type类型
所以可以得出  type是用来生成类对象的,所有的类都是type类。包括list、dict等也是的。
逻辑:类是type(自己也是个类)的对象,其他的类型是类生成的对象
2.object是所有类的基类,包括也是type这个类的基类
object是最顶层的基类,所有的类最后推到都是继承object类的。

file:///C:/Users/dall/AppData/Local/Temp/enhtmlclip/Image.png

 


发现type是object类的子类的,那object呢?
file:///C:/Users/dall/AppData/Local/Temp/enhtmlclip/Image(1).png

 



file:///C:/Users/dall/AppData/Local/Temp/enhtmlclip/Image(2).png

 


type继承了object类,
object是由type生成的对象。两者成为了循环。
而且object是最顶层的类,再往上就没有类了。

总结:type、object和class的关系为:
file:///C:/Users/dall/AppData/Local/Temp/enhtmlclip/Image(3).png

 


file:///C:/Users/dall/AppData/Local/Temp/enhtmlclip/Image(4).png

 

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

思考:python为什么会设计成这样的一切皆对象呢?
对象是可以随时修改的。
 

三  python中常用的内置类型
对象在python中,有三个特征,身份、类型和值。
  • 身份: 每一个对象都有一个唯一的身份标识自己。任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址
  • 类型: 对象的类型决定了对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以内建type()查看对象的类型
  • 值:对象表示的数据项
其中类型的分类常用的有可迭代类型、不可迭代类型等、和其他序列类型、映射(mapping)、数值(int、float等)、集合、上下文管理等一系列类型。
  
 


 

查看type实现了哪些Type?可以用isinstance来判断这个对象是否属于这个基本类型。
>>> import types
>>> dir(types)
['AsyncGeneratorType', 'BuiltinFunctionType', 'BuiltinMethodType', 'CodeType', 'CoroutineType', 'DynamicClassAttribute', 'FrameType', 'FunctionType', 'GeneratorType', 'GetSetDescriptorType', 'LambdaType', 'MappingProxyType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'SimpleNamespace', 'TracebackType', '_GeneratorWrapper', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_ag', '_calculate_meta', '_collections_abc', '_functools', 'coroutine', 'new_class', 'prepare_class']

 

>>> isinstance([], list)
True
>>> isinstance({}, dict)
True
这里藏着很重要的知识点鸭子类型和魔法函数~ 以后会慢慢深入了解的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值