11 2019 档案
摘要:单例模式 单例模式:在确定类中的属性和方法不变时,需要反复调用该类的情况。 让所有通过该类实例化出的对象,都指向同一个内存地址。 优点:节省内存空间。 单例模式有五种表现形式: 1.通过classmethod实现 2.通过__new__实现 3.通过导入模块时实现 4.通过装饰器实现 5.通过元类实
阅读全文
摘要:反射 反射是通过'字符串'对 对象的属性进行操作,反射有四个内置的方法。 hasattr 通过字符串 判断对象的属性或者方法是否存在 getattr 通过字符串 获取对象的属性或者方法 getattr ( ref , 'z' , '没有值') 可以设置返回值,防止报错 setattr 通过字符串 设
阅读全文
摘要:多态 what: 同一个事物有不同的形态。 多态的目的:在不知道对象具体类型的情况下,统一对象调用方法的规范。(通俗讲,即规定实现同样功能的方法,一定要起同样的名字)。 多态的表现形式之一就是继承,先抽象再继承。 多态的父类:定制一套统一的规范,子类中重写该方法,并使用这个方法名。 python中不
阅读全文
摘要:组合 what? 组合是指一个对象中,包含另一个或多个对象。 why? 减少代码的冗余。 How? 在类中加入其他类的对象,实现跨类对象之间的联动。 耦合度 软件设计要 高内聚,低耦合。 耦合度越高,程序的可扩展性越低 耦合度越低,程序的可扩展性越高 继承与组合的区别: 继承代表【是】的关系,是类和
阅读全文
摘要:# _*_ coding: gbk _*_ # @Author: Wonde # bar 直方图 import matplotlib.pyplot as plt # 绘图 from matplotlib.font_manager import FontProperties # 管理字体 font =
阅读全文
摘要:继承 什么是继承:继承是新建类的一种方式,通过此方式生成的类称为子类、或者 派生类,被继承的类称为父类、基类或超类。在python中,一个子类可以继承多个父类。 继承的作用:减少代码的冗余,提高开发效率。 如何实现继承:在定义类的基础上,在类名后加上(父类名)。 class Teacher(Huma
阅读全文
摘要:面向对象编程:是一种编程思想 对象的定义:特征与功能的集合体 优点:可扩展性强 缺点:编程复杂度高,难度偏大 类的定义:一系列对象之间相同特征与技能的结合体 调用类的时候(实例化是时候),发生的事情: 产生一个空对象的名称空间 >触发__init__方法,并将对象名作为第一个参数传入 >将其他参数一
阅读全文
摘要:subprocess模块 可以通过python代码给操作系统终端发送命令,并可以得到返回结果。 re模块 正则表达式: 正则表达式(Regular Expression)是一种独立的技术,很多语言都支持正则表达式。 正则表达式的重要的元字符: 在python中,要通过re模块才可以使用正则表达式,在
阅读全文
摘要:序列化模块 序列化:将python或其他语言中的数据类型,转变成字符串类型。 python中的八大数据类型回顾:int float str list tuple dict set bool 反序列化:将字符串转变成其他数据类型。 json模块 json的跨平台性较好,是一个第三方模块。 在json中
阅读全文
摘要:time模块 时间戳(Timestamp) time.time( ) 时间戳是从1970年1月1日0时0分0秒开始计数,是以秒计数的float类型数字。 格式化时间 (Format String) time.strftime( ) ,括号中可以传 (%Y,%m,%d,%H,%M,%S) “时分秒”
阅读全文
摘要:内置函数 map map映射:语法结构(函数对象,可迭代对象) 依次从可迭代对象中取值,然后给函数做运算,再 依次 返回运算的结果. reduce reduce: 合并(函数对象,可迭代对象,初始值) 从可迭代对象中取出前两个值,传入函数进行运算,再与可迭代对象中的第三个值进行运算。 注意:上述操作
阅读全文
摘要:生成器: 函数与yield连用,凡是函数中有yield的,调用该函数的时候均不会立即执行,而是会返回一个生成器。 生成器本质上是一个迭代器,需要通过 【生成器.__next__()】或者【next(生成器)】取值。 创建生成器的函数中的return只有终止函数的功能,不会有任何返回值。 yield:
阅读全文
摘要:装饰器的进阶主要包含叠加装饰器和有参装饰器 叠加装饰器:在一个被装饰的对象中,添加多个装饰器。 为什么要用叠加装饰器的原因: -每一个新的功能都应该写一个新的装饰器,否则会导致,代码冗余,结构不清晰,可扩展性差。 理解叠加装饰器的工作原理:装饰的时候就近原则,从下到上装饰,将函数包装起来。调用的时候
阅读全文
摘要:闭包函数 什么是闭包函数:闭包函数是函数嵌套、函数对象、名称空间和作用域的集合体。 闭包函数必须在函数内部定义,闭包函数可以引用外层函数的名字。 # _*_ coding: gbk _*_ # @Author: Wonder def outer(): def inner(): #代码体 return
阅读全文
摘要:函数名是可以被引用,传递的是函数的内存地址。函数名赋值给变量后,只需要在变量后加上括号即可调用函数。 名称空间 内置名称空间:在python解释器中提前定义完的名字 全局名称空间:if、while、for循环中内部定义的变量,均是全局变量;存放于文件级别的变量,也是全局名称。 局部名称空间:函数内定
阅读全文
摘要:函数 定义、作用、及使用方式 函数是一种工具,可以被重复调用。 使用函数可精简重复代码,减少冗余,增加代码的可读性。 函数要先构造函数,然后调用函数。 构造及调用函数的语法结构 关键字def 函数名def_name( 形参1,形参2) : ''' 函数的功能描述''' 函数体 调 用 函数名def_
阅读全文
摘要:关于编码的问题: 在平时编写代码,涉及到打开文件时,常常遇到字符编码的报错, 通过总结,得出以下规律 如果在操作过程中涉及到调用文本文档,一定要在文本文档开头申明编码方式(# coding:XXXXX),否则python3解释器会默认为utf-8的编码方式,而常常在中文操作系统中默认生成的文本文档
阅读全文
摘要:深拷贝和浅拷贝 列表的拷贝,用copy方法浅拷贝,新列表和被拷贝列表的id是不一样的。 list1 = [1, 'ss', (5, 6), ['p', 'w','M'], {'key1': 'value1', 'key2':'value2'}] print('list1', id(list1)) #
阅读全文
摘要:数据库操作,从三块内容入手:库(文件夹)、表(文件)、记录(文件内容) 库的操作: 增:create database db1 charset utf8;此处的字符类型不需要引号,修改时同理。查:show create database db1;show databases;查看所有的数据库改:a
阅读全文
摘要:python的数据类型及其内置方法 一、列表(续) list.count( )、list.index( ) list = ['1', '2', '3', '2', 'a', 'b', 'c', 'a'] print(list.count('a')) # 用于统计某个元素的个数 print(list.
阅读全文
摘要:python数据类型及其内置方法 一、整型:主要用于数学运算 其他进制 >转十进制 """ 其他进制转换为十进制 通过int('x进制数',x)实现 """ a = int('110', 2) print(a) # 6 b = int('7731', 8) print(b) # 4057 c = i
阅读全文
摘要:流程控制语句 if 语法结构 if 逻辑判断为真 : xxxxxx else: xxxxx while 语法结构 (continue、break) while 逻辑判断为真: xxxxxxx continue 用于跳过本次循环 break 用于跳过本层所在循环 while 逻辑判断为真: xxxxx
阅读全文
摘要:1、与用户交互 python2和python3在与用户交互方面存在差异。 在python3中,使用input( )方法提供用户输入,而在python2中,使用raw_input( )方法,才能实现同样的效果。 在python2中,input( )方法,用户在输入时必须要声明类型。 python3中所
阅读全文
摘要:编程语言分类:机器语言、汇编语言、高级语言。 机器语言:机器能直接识别的程序语言或指令代码(二进制指令),勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它 汇编语言:比机器语言略高级,用英文标签代表一组二进制指令操作机器 高级语言:分为编译型(C、C++、go)和解释型(C#、Python
阅读全文

浙公网安备 33010602011771号