05 2019 档案
摘要:设计原则 开-闭原则(目标、总的指导思想) Open Closed Principle “开”指的是允许一个类甚至往大了说允许一个系统随时可以对自己的功能进行扩展。 “闭”指的是不允许在扩展和修改功能的时候触及到已经写好的底层代码(比如父类)。 举一个比较浅显的例子,可以理解为电脑与硬盘以及 U 盘
阅读全文
摘要:函数式编程 1. 定义:用一系列函数解决问题。 -- 函数可以赋值给变量,赋值后变量绑定函数。 -- 允许将函数作为参数传入另一个函数。 -- 允许函数返回一个函数。 2. 高阶函数:将函数作为参数或返回值的函数。 函数作为参数 将核心逻辑传入方法体,使该方法的适用性更广,体现了面向对象的开闭原则。
阅读全文
摘要:迭代 每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。例如:循环获取容器中的元素。 可迭代对象iterable 1.定义:具有__iter__函数的对象,可以返回迭代器对象。 2.语法 -- 创建: class 可迭代对象名称: def __iter__(self
阅读全文
摘要:异常 1.定义:运行时检测到的错误。 2.现象:当异常发生时,程序不会再向下执行,而转到函数的调用语句。 3.常见异常类型: -- 名称异常(NameError):变量未定义。 -- 类型异常(TypeError):不同类型数据进行运算。 -- 索引异常(IndexError):超出索引范围。 --
阅读全文
摘要:1 import time 2 3 4 # 时间戳:从1970年后经过的秒数 5 print(time.time()) 6 #1558538588.7168798 7 8 # 时间戳 --> 时间元组 9 #年 月 日 时 分 秒 星期(周一0 周二1 ... 周日6) 一年的第几天 夏令时 10
阅读全文
摘要:继承 语法 1.代码: class 子类(父类): def __init__(self,参数列表): super().__init__(参数列表) self.自身实例变量 = 参数 设计角度: 先有子类,再有父类. 抽象化的过程:子(具体,小概念) -> 父(抽象,大概念) 编码角度: 先写父类,再
阅读全文
摘要:封装 定义 1.数据角度讲,将一些基本数据类型复合成一个自定义类型。 2.行为角度讲,向类外提供必要的功能,隐藏实现的细节。 封装数据:多个数据 --> 一个种数据(新类型) 例如:学生类(姓名/年龄..) 汽车(品牌/价格..) 适用性:多种信息描述同一种事物. 3.设计角度讲: (1)分而治之
阅读全文
摘要:1.类:一个抽象的概念,即生活中的”类别”。 2.对象:类的具体实例,即归属于某个类别的”个体”。 3.类是创建对象的”模板”。 -- 数据成员:名词类型的状态。 -- 方法成员:动词类型的行为。 4.类与类行为不同,对象与对象数据不同。 一.语法 1.定义类 1.代码 2.说明 -- 类名所有单词
阅读全文
摘要:面向对象—概述 1.思想层面: --可模拟现实情景,更接近于人类思维。 --有利于梳理归纳、分析解决问题。 2.技术层面: --高复用:对重复的代码进行封装,提高开发效率。 --高扩展:增加新的功能,不修改以前的代码。 --高维护:代码可读性好,逻辑清晰,结构规整。 类(Class): 用来描述具有
阅读全文
摘要:最重要的快捷键 1. ctrl+shift+A:万能命令行 2. shift两次:查看资源文件 新建工程第一步操作 1. module设置把空包分层去掉,compact empty middle package 2.设置当前的工程是utf-8,设置的Editor-->File Encodings--
阅读全文
摘要:作用域LEGB 1.作用域:变量起作用的范围。 2.Local局部作用域:函数内部。 3.Enclosing 外部嵌套作用域 :函数嵌套。 4.Global全局作用域:模块(.py文件)内部。 5.Builtin内置模块作用域:builtins.py文件。 当然,local和enclosing是相对
阅读全文
摘要:什么是函数? 函数其实就是带名字的代码块,用于完成一些具体的工作。如果我们在写一段程序的时候,需要多次用到同样的一个功能,如果每次都要重复写相同的代码,不仅会增加我们的代码量,更会让我们写出的代码让别人看起来觉得很low,而如果我们把功能作为一个代码块封装在一个函数里,每次仅需要调用这个函数,是不是
阅读全文
摘要:集合 set 定义 由一系列不重复的不可变类型变量组成的可变散列容器。 相当于只有键没有值的字典(键则是集合的数据)。 基础操作 创建空集合: 集合名 = set() 集合名 = set(可迭代对象) 创建具有默认值集合: 集合名 = {1, 2, 3} 集合名 = set(可迭代对象) 添加元素:
阅读全文
摘要:字典 dict 定义 由一系列键值对组成的可变散列容器。 散列:每条记录无序。 键必须惟一且不可变(字符串/数字/元组),值没有限制。 字典内存图: 基础操作 创建字典: 字典名 = {键1:值1,键2:值2}(键不能相同,值可以相同) 字典名 = dict (可迭代对象) 添加/修改元素: 语法:
阅读全文
摘要:元组 tuple 定义 由一系列变量组成的不可变序列容器。 不可变是指一但创建,不可以再添加/删除/修改元素。 基础操作 创建空元组: 元组名 = () 元组名 = tuple() 创建非空元组: 元组名 = (20,) 元组名 = (1, 2, 3) 元组名 = 100,200,300 (创建元组
阅读全文
摘要:# list01 是变量,存储列表对象的地址. #列表引用 list01 = ["张无忌","赵敏","周芷若"] # list02 得到的是列表对象地址 list02 = list01 # 不拷贝,创建了一个变量绑定原对象 list01[0] = "老张" # 修改的是列表list01第一个元素存储的对象地址print(list02[0])# ?"老张"# 因为list02和list01绑...
阅读全文
摘要:列表 list 定义:由一系列变量组成的可变序列容器。 一、基础操作 1.创建列表:有两种方式 列表名 = [] (里面可以是不同数据类型) 列表名 = list(可迭代对象) (里面必须是相同数据类型) 2.添加元素: 列表名.append(元素) 列表.insert(索引,元素) 遍历列表: 正
阅读全文
摘要:字符串 string 1.定义:由一系列字符组成的不可变序列容器,存储的是字符 2.编码: 字节byte:计算机最小存储单位,等于8 位bit. 字符:单个的数字,文字与符号。 字符集(码表):存储字符与二进制序列的对应关系。 编码:将字符转换为对应的二进制序列的过程。 解码:将二进制序列转换为对应
阅读全文
摘要:通用操作 1.数学运算符 +:用于拼接两个容器 +=:用原容器与右侧容器拼接,并重新绑定变量 *:重复生成容器元素 *=:用原容器生成重复元素, 并重新绑定变量 < <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。 2.成员运算符 语法: 数据 in 序列 数据 not
阅读全文
摘要:语句 一、行 物理行:程序员编写代码的行。 逻辑行:python解释器需要执行的指令。 建议一个逻辑行在一个物理行上。 如果一个物理行中使用多个逻辑行,需要使用分号;隔开。 如果逻辑行过长,可以使用隐式换行或显式换行。 隐式换行:所有括号的内容换行,称为隐式换行 括号包括: () [] {} 三种
阅读全文
摘要:基本数据运算 一、函数 表示一个功能,函数定义者是提供功能的人,函数调用者是使用功能的人。 例如: 1.print(数据) 作用:将括号中的内容显示在控制台中 2.变量 = input(“需要显示的内容”) 作用:将用户输入的内容赋值给变量 二、变量 1.定义:关联一个对象的标识符。 2.命名:必须
阅读全文
摘要:一、Python 简介 Python定义:是一个免费、开源、跨平台、动态、面向对象的编程语言。 Python程序的执行(运行)方式有两种:交互式、文件式 交互式在命令行输入指令,回城即可得到结果。1.打开终端2.进行交互式:python33.编写代码:print(“hello world”)4.离开
阅读全文