随笔分类 - Python基础之面向对象
面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
摘要:Python基础之面向对象 一、编程思想 1、面向过程 把完成某一个需求的 所有步骤,从头到尾,逐步实现,根据开发需求,将某些 功能独立 的代码 封装 成一个又一个 函数,然后按照顺序调用不同的函数 过程 是早期的一个编程概念 过程 只能执行,没有返回值 函数 不仅能执行,还可以返回结果 2、面
阅读全文
摘要:面向对象之选课系统 一、选课系统需求分析 1、选课系统 角色:学校、讲师、学员、课程 2、要求 1.两所学校,分别在北京、上海 2.三类课程,分别是linux、python(上海)、go(北京) 3.课程包含周期、价格,课程通过学校创建 4.通过学校创建班级,班级关联课程、讲师 5.创建学员时,选择
阅读全文
摘要:面向对象之设计模式 一、设计模式概述 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、稳健性以及安全性的解决方案。 1995年,GoF(Gang of Four,四人组/四人帮)合作出版
阅读全文
摘要:面向对象之元类 一、什么是元类 Python中一切皆为对象,对象是有类实例化生成; 类也是对象(类对象),生成类对象的类可称之为元类; 所以,元类就是来创建类对象的,可称之为类工厂; type是python内建元类,type是最上层的元类,也可称为一切类对象的元类 二、元类推导流程 """推导步骤1
阅读全文
摘要:面向对象之魔法方法 一、魔法方法的概念 定义在类中的双下方法都可以称为魔法方法 不需要人为调用,在特定的条件下会自动触发,并运行 类似于__ init__, 当我在使用类产生对象时,会自动触发 class Foo: # 双下init就是魔法方法的一种 def __init__(self,
阅读全文
摘要:class User_cls_info(object): def __init__(self, name, age, gender, hobby, ): self.__name = name self.__age = age self.__gander = gender self.__hobby =
阅读全文
摘要:面向对象之反射 一、反射 1、反射的定义 主要是应用于类的对象上,在运行时,将对象中的属性和方法反射出来 2、使用的场景 可以动态的向对象中添加属性和方法。也可以动态的调用对象中的方法或者属性。 3、常用方法 1.hasattr() hasattr(obj, str) ''' 判断输入的st
阅读全文
摘要:面向对象之封装 一、封装 1、封装的概念 封装:就是指将数据和功能'封装'起来,封装是一种抽象的概念,封装也就是将某部分数据隐藏起来 2、为什么要封装 封装的主要原因:隔离复杂度(⽐如:电视机,我们看见的就是⼀个⿊匣⼦,其实⾥⾯有很多电器元件,对于⽤户来说,我们不需要清楚⾥⾯都有些元件,电视
阅读全文
摘要:面对对象之多态 一、多态 1、多态的概念 多态在实际应用时较为抽象,指事物的多种形态,而相同的类,就应该具有这个类的基本功能 就比如说,人作为一个种类,每一个人就相当于对象,在每个对象当中,我们都会走路、说话、吃饭,而每当我们听到这些名词时就会自然的联想到相应的动作,和作用。这就是多态的一种
阅读全文
摘要:派生方法实战 以上我们学习了通过super()的方法可以重写父类、额外添加父类中的数据,下面将通过实战案例来讲述super()方法来重写、添加父类中的功能代码 需求: 1、使用json格式,序列化字典d d = { 't1': datetime.date.today(), 't2': datet
阅读全文
摘要:面向对象 一、三大特征之继承 python三大特征: 封装、继承、多态 三者中继承最为核心,实际应用多,感受较为直观 封装和多态略微抽象 1、继承的概念 继承的含义: 在现实生活中,继承表示人与人之间资源的从属关系 例如:儿子继承父亲 在编程的世界中,继承表示类与类之间的资源从属关系
阅读全文
摘要:面向对象 一、动静态方法 在类中定义的函数有多种特性 1、直接在类中定义函数 再类中直接定义函数,默认绑定给对象,类调用时有几个参数就要传几个参数,对象调用时该函数的第一个参数默认为对象 # 定义一个类 class Student: # 类公用数据 school_name = '家里蹲大学' #
阅读全文
摘要:一、人狗大战 1、需求 用代码模拟人、狗打架的小游戏 人和狗种类不同,因此双方的属性各不相同 推导一: 人和狗各有不同属性 使用字典方式储存属性较为方便,并可储存多种属性 # 1、在字典内储存‘人’属性 person = { 'name': '阿拉蕾', 'age': 18, 'gender': '
阅读全文