摘要:
第一篇 计算机基础 "计算机硬件发展史以及硬件" "计算机操作系统" "编程语言分类" "Hello_World" 第二篇 python核心基础 "变量和常量" "python变量内存管理" "变量的三大特性" "花式赋值" "注释" "解压缩" "python的用户交互" "格式化输出的三种主流方 阅读全文
posted @ 2019-09-21 18:57
suren_apan
阅读(158)
评论(0)
推荐(0)
摘要:
一丶什么是慢查询日志 设定一个时间检测所有超出改时间的sql语句,然后针对性的进行优化! 二丶慢查询流程 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(106)
评论(0)
推荐(0)
摘要:
一丶什么是索引 知识回顾:数据都是存在硬盘上的,那查询数据不可避免的需要进行IO操作 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。 primary key unique key index key 注意foreign key不是用来加速查询用的,不在我们研究范围之内,上 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(252)
评论(0)
推荐(0)
摘要:
一丶if条件语句 二丶while循环 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(139)
评论(0)
推荐(0)
摘要:
注意与存储过程的区别,mysql内置的函数只能在sql语句中使用! 参考博客: 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(135)
评论(0)
推荐(0)
摘要:
一丶什么是事务 开启一个事务可以包含一些sql语句,这些sql语句要么同时成功 要么一个都别想成功,称之为事务的原子性 二丶事务的作用 保证了对数据操作的数据安全性 案例:用交行的卡操作建行ATM机给工商的账户转钱 三丶事务应该具有的4个属性(重点) 原子性、一致性、隔离性、持久性。这四个属 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(140)
评论(0)
推荐(0)
摘要:
一丶三种开发模型 第一种 第二种 第三种 二丶存储过程 这边的可以为mysql 的自定义函数 三丶如何用存储过程 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(103)
评论(0)
推荐(0)
摘要:
一丶什么是触发器 在满足对某张表数据的增、删、改的情况下,自动触发的功能称之为触发器 二丶为什么要用触发器 触发器专门针对我们对某一张表数据增insert、删delete、改update的行为,这类行为一旦执行 就会触发触发器的执行,即自动运行另外一段sql代码 三丶创建和使用触发器 四丶删除触发器 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(113)
评论(0)
推荐(0)
摘要:
一丶什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 二丶为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 尽量少用视图原因 工作用的不是很多 1. 创建过多" 视图 ",占用硬盘资源和数据库资源 2. 无法改表 三丶如何用视图 创建视图 强调 1. 在硬盘中,视 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(89)
评论(0)
推荐(0)
摘要:
一丶数据库的安装和连接 1.1python连接数据库 二丶创建表操作 三丶操作数据 3.1插入操作 3.2查询操作 Python查询Mysql使用 fetchone() 方法获取单条数据,使用 :获取指定参数条数据。 : 该方法获取下一个查询结果集。结果集是一个对象 : 接收全部的返回结果行. : 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(169)
评论(0)
推荐(0)
摘要:
实验表创建 建表 插入数据 笛卡尔积 内连接 左连接 右连接 全连接 子查询 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(100)
评论(0)
推荐(0)
摘要:
一丶语法顺序 1. select 2. from 3. where 4. group by 二丶执行顺序 1. from 2. where 3. group by 4. select 实验表准备 创建表 添加表数据 三丶where约束条件 在你刚开始接触mysql查询的时候,建议你按照查询的优先级顺 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(92)
评论(0)
推荐(0)
摘要:
约束条件成列: 1. PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 2. FOREIGN KEY (FK) 标识该字段为该表的外键 3. NOT NULL 标识该字段不能为空 4. UNIQUE KEY (UK) 标识该字段的值是唯一的 5. AUTO_INCREME 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(110)
评论(0)
推荐(0)
摘要:
一丶整型 分类:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 tinyint 1字节( 128) int 4字节(一般来讲不用设置,因为基本够用) bigint 8字节 类型存储范围:参考图片<http://www.cnblogs 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(113)
评论(0)
推荐(0)
摘要:
一丶库 类似于文件夹 增 查 改 删 二丶表 在创建表的时候 需要先指定库 指定库: 查看当前虽在的库: 创建表语法 查看表结构 增 查 改 删 三丶记录 1. 先创建一个库或者指定一个已经存在的库 2. 切换到该库下 创建表 3. 然后再操作记录 增 查 改 删 删除补充 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(114)
评论(0)
推荐(0)
摘要:
一丶什么是存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。 二丶mysql支持哪些存储引擎 mysql5.6支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、BL 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(127)
评论(0)
推荐(0)
摘要:
这边讲述的是window版的... 一丶IT行业铁则 在IT行业 不要轻易的尝试最新版本的软件 二丶Mysql安装流程 1.1下载安装 下载之后 是将MySQL的服务端和客户端都下载了下来 解压 查看文件目录 服务端 mysqld 客户端 mysql 启动mysqld 1.切换到bin目 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(119)
评论(0)
推荐(0)
摘要:
一丶认识数据库 1.1什么是数据 描述事物的符号记录称为数据,它们都可以经过数字化后存入计算机.在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容. 1.2数据库概念 随意的存到了一个文件中 数据格式也是千差万别的 软件开发目录规范,规定了数据存放的位置 p 阅读全文
posted @ 2019-09-21 11:09
suren_apan
阅读(125)
评论(0)
推荐(0)
摘要:
阻塞模型 非阻塞模型 多路复用模型 select epoll 信号驱动模型 异步调用模型 阅读全文
posted @ 2019-09-21 11:08
suren_apan
阅读(168)
评论(0)
推荐(0)
摘要:
一丶Gevent的作用 让协程实现检测IO,实现并发 二丶Gevent代码实现 spawn方法会创建能检测io并实现并发任务的协程对象 当遇到ip组测未完成会切换其他的协程继续 最终时间会在最长的协程所需时间结果多一点些,这一些指的是io切换消耗的时间 阅读全文
posted @ 2019-09-21 11:04
suren_apan
阅读(105)
评论(0)
推荐(0)
摘要:
一丶yield yield本身就是一种在单线程下可以保存任务运行状态的方法 1. yiled可以保存状态,yield的状态保存与操作系统的保存线程状态很像,但是yield是代码级别控制的,更轻量级 2. send可以把一个函数的结果传给另外一个函数,以此实现单线程内程序之间的切换 计算密集型 IO密 阅读全文
posted @ 2019-09-21 11:04
suren_apan
阅读(124)
评论(0)
推荐(0)
摘要:
一丶进程池和线程池统一模块 concurrent.futures 1.1 介绍 1. concurrent.futures模块提供了高度封装的异步调用接口 2. ThreadPoolExecutor:线程池,提供异步调用 3. ProcessPoolExecutor: 进程池,提供异步调用 1.2基 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(120)
评论(0)
推荐(0)
摘要:
同一个进程下的多个线程本来就是数据共享 为什么还要用队列 因为队列是管道+锁 使用队列你就不需要自己手动操作锁的问题 因为锁操作的不好极容易产生死锁现象 一丶queue.Queue(maxsize=0) 先进先出 queue队列 :使用import queue,用法与进程Queue一样 二丶queu 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(91)
评论(0)
推荐(0)
摘要:
一丶什么是event事件 通过判断某个线程的状态来确定自己下一步的操作 如果有线程等待一个Event对象, 而这个Event对象的标志为假,那么这个线程将会被一直阻塞直至该标志为真。一个线程如果将一个Event对象的信号标志设置为真,它将唤醒所有等待这个Event对象的线程。如果一个线程等待一个 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(88)
评论(0)
推荐(0)
摘要:
同一个进程下的多个线程本来就是数据共享 为什么还要用队列 因为队列是管道+锁 使用队列你就不需要自己手动操作锁的问题 因为锁操作的不好极容易产生死锁现象 一丶queue.Queue(maxsize=0) 先进先出 queue队列 :使用import queue,用法与进程Queue一样 二丶queu 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(110)
评论(0)
推荐(0)
摘要:
一丶同步和互斥的概念 【同步】: 两个或两个以上的进程或线程在运行过程中协同步调,按预定的先后次序运行。比如 A 任务的运行依赖于 B 任务产生的数据。 【互斥】: 一个公共资源同一时刻只能被一个进程或线程使用,多个进程或线程不能同时使用公共资源。 二丶同步锁(互斥锁)的引用 把原来的并发执行变成串 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(112)
评论(0)
推荐(0)
摘要:
并发编程更加充分的利用IO资源,但是也带来了新的问题:当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。 一、多进程抢占输出资源 二、使用锁维护执行顺序 由并发变成了串行,牺牲了运行效率,但避免了竞争 上面这种情况虽然使用加锁的形式实现了顺序的执行,但是程序又重新变成串行了,这样确 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(84)
评论(0)
推荐(0)
摘要:
一丶什么是GIL锁 python解释器有很多种 最常见的就是Cpython解释器 GIL本质也是一把互斥锁:将并发变成串行牺牲效率保证数据的安全 用来阻止同一个进程下的多个线程的同时执行(同一个进程内多个线程无法实现并行但是可以实现并发 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只 阅读全文
posted @ 2019-09-21 11:03
suren_apan
阅读(158)
评论(0)
推荐(0)
摘要:
一丶什么是event事件 通过判断某个线程的状态来确定自己下一步的操作 如果有线程等待一个Event对象, 而这个Event对象的标志为假,那么这个线程将会被一直阻塞直至该标志为真。一个线程如果将一个Event对象的信号标志设置为真,它将唤醒所有等待这个Event对象的线程。如果一个线程等待一个 阅读全文
posted @ 2019-09-21 11:00
suren_apan
阅读(183)
评论(0)
推荐(0)
摘要:
一个进程内线程间的通信可以直接修改,因为同个进程中的所有线程都共享这个线程的数据,不会造成数据错乱的问题 代码实现 阅读全文
posted @ 2019-09-21 11:00
suren_apan
阅读(86)
评论(0)
推荐(0)
摘要:
一丶进程和线程的区别 线程与进程的区别可以归纳为以下4点: 1. 地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。 2. 通信: "进程间通信IPC" ,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要 "进程同步" 和互斥手段的 阅读全文
posted @ 2019-09-21 11:00
suren_apan
阅读(164)
评论(0)
推荐(0)
摘要:
一丶守护线程是什么 daemon() 守护xx会等待主xx运行完毕后被销毁。需要强调的是:运行完毕并非终止运行。 1. 对主进程来说,运行完毕指的是主进程代码运行完毕 2. 对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕 二丶代码实现 主线程的结束也就意 阅读全文
posted @ 2019-09-21 11:00
suren_apan
阅读(90)
评论(0)
推荐(0)
摘要:
一丶什么是线程 进程线程其实都是虚拟单位,都是用来帮助我们形象的描述某种事物 二丶线程和进程 进程:资源单位 线程:执行单位 将内存比如成工厂 那么进程就相当于是工厂里面的车间 而你的线程就相当于是车间里面的流水线 ps:每个进程都自带一个线程,线程才是真正的执行单位,进程只是在线程运行过程中 进程 阅读全文
posted @ 2019-09-21 11:00
suren_apan
阅读(82)
评论(0)
推荐(0)
摘要:
一丶进程间数据分享介绍(推荐队列) 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合 通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求, 还可以扩展到分布式系统中 进程间通信应该尽量避免使用本节所讲的共享数据的方式 二丶数据共 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(100)
评论(0)
推荐(0)
摘要:
一丶队列模块调用 (推荐使用队列) 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。 from multiprocessing import Queue 创建共享的进程队列。 参数 :maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(125)
评论(0)
推荐(0)
摘要:
一丶multiprocess模块 multiprocess是python中一个操作、管理进程的包。 1.2创建多进程方法 multiprocess.process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建。 1.2 创建方法 Process([group [, target [, 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(159)
评论(0)
推荐(0)
摘要:
一丶进程三种状态 程序的三种状态:就绪态,运行态和阻塞态。 1. 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 2. 执行/运行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(93)
评论(0)
推荐(0)
摘要:
一丶进程的并行 并行: 并行是指两者同时执行,比如赛跑,两个人都在不停的往前跑;(资源够用,比如三个线程,四核的CPU ) 阿攀大白话: ps:单核的计算机能不能实现并行,但是可以实现并发 二丶进程的并发 并发: 并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(104)
评论(0)
推荐(0)
摘要:
要想多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随即进行的,而是需要遵循一定的法则,由此就有了进程的调度算法。 一丶先来先服务调度算法 二丶短作业优先调度算法 阿攀大白话: 先做短期的作业,然后长期的作业,造成问题对短期作业的有好处,长期作业可能一直执行不到或时间太久! 三丶时间 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(131)
评论(0)
推荐(0)
摘要:
一丶操作系统知识 1.1操作系统的作用: 1. 隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2. 管理、调度进程,并且将多个进程对硬件的竞争变得有序 1.2多道技术: 1. 产生背景:针对单核,实现并发 1.2.1什么是多道技术 ps:现在的主机一般是多核,那么每个核都会利用多道技术。有4个cpu, 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(87)
评论(0)
推荐(0)
摘要:
参考链接博客: 阅读全文
posted @ 2019-09-21 10:59
suren_apan
阅读(135)
评论(0)
推荐(0)
摘要:
一丶tcp为什么称为可靠协议(流式协议) 二丶UDP为什么被称为不可靠协议(数据报协议) 三丶两者区别 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(135)
评论(0)
推荐(0)
摘要:
一丶什么是粘包 会将数据量比较小的并且时间间隔比较短的数据 一次性打包发送给对方什么是粘包 阿攀大白话: 上次或者前面的数据没发收完,导致之后的影响了之后的获取数据这种现象 二丶粘包产生原因 1. 将数据量比较小的并且时间间隔比较短的数据 2. 一次性打包发送给对方,对方没接收完 三丶粘包代码举例 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(123)
评论(0)
推荐(0)
摘要:
一丶什么是Scoket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我们无需 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(140)
评论(0)
推荐(0)
摘要:
一丶什么是TCP TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80。 二丶TCP三次握手四次挥手 官腔 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(216)
评论(0)
推荐(0)
摘要:
一丶什么是UDP UDP是无链接的,先启动哪一端都不会报错 UDP协议是数据报协议,发空的时候也会自带报头,因此客户端输入空,服务端也能收到 UPD协议一般不用于传输大数据。 UDP套接字虽然没有粘包问题,但是不能替代TCP套接字,因为UPD协议有一个缺陷:如果数据发送的途中,数据丢失,则数据就丢失 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(96)
评论(0)
推荐(0)
摘要:
参考链接 : https://www.cnblogs.com/nickchen121/p/11004980.html 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(131)
评论(0)
推荐(0)
摘要:
一丶单机架构 应用领域: 植物大战僵尸 office 二丶CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。 客户端:用户安装的软件; 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑 阅读全文
posted @ 2019-09-21 10:57
suren_apan
阅读(141)
评论(0)
推荐(0)
摘要:
一丶什么是元类 在python中一切皆对象,那么我们用class关键字定义的类本身也是一个对象,负责产生该对象的类称之为元类,即元类可以简称为类的类 二丶为什么用元类 三丶内置函数exec 四丶class创建类 如果说类也是对象,那么用class关键字的去创建类的过程也是一个实例化的过程,该实例化的 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(110)
评论(0)
推荐(0)
摘要:
一丶什么是单例模式 单例是一种 设计模式 ,应用该模式的类只会生成一个实例。 二丶为什么用单例模式 单例是为了节省 资源,当一个类的所有对象属性全部相同时,则没有必要创建多个对象 三丶实例的单例 四丶单例元类 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(77)
评论(0)
推荐(0)
摘要:
迭代器重温 who 迭代器对象 必须有 \_\_iter\_\_,\_\_next\_\_ 这两方法 \_\_iter\_\_ 把对象转化迭代器对象 \_\_next\_\_ 迭代取值啦,运行一次取一个相对单位 案例: 列子一 死循环 列子2 StopIteration异常版 输出结果: 列子3 模 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(86)
评论(0)
推荐(0)
摘要:
常用类的运算符 \_\_gt\_\_ 大于 \_\_lt\_\_ 小于 \_\_eq\_\_ 等于 !!!注意 运算符远不止这些!!!!!可以再object类中进行查看!! 当我们在使用某个符号时,python解释器都会为这个符号定义一个含义,同时调用对应的处理函数, 当我们需要自定义对象的比较规则 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(95)
评论(0)
推荐(0)
摘要:
什么是slots __slots__是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例的是独立的) 为什么用slots 字典会占用大量内存,如果你 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(133)
评论(0)
推荐(0)
摘要:
一丶doc 返回类的注释信息 该属性无法被继承 二丶dir 对象的 __dir__ 方法用于列出该对象内部(包括所有父类)的所有属性(包括方法)名,该方法将会返回包含所有属性(方法)名的列表。 三丶dict 当前对象的属性信息 特点: 1) 内置的数据类型没有__dict__属性 2) 每个类有 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(92)
评论(0)
推荐(0)
摘要:
\_\_call\_\_ 对象后面加括号时,触发执行。 注: 构造方法的执行是由创建对象触发的,即:对象 = 类名() ; 而对于 \_\_call\_\_ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() 列子 和 \_\_init\_\_ 结合着看 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(102)
评论(0)
推荐(0)
摘要:
\_\_del\_\_ __del__也称之为析构方法 __del__会在对象被删除之前自动触发 执行时机: 手动删除对象时立马执行,或是程序运行结束时也会自动执行 上例子 列子一 列子二 典型的应用场景: 创建数据库类,用该类实例化出数据库链接对象,对象本身是存放于用户空间内存中,而链接则是由操作 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(106)
评论(0)
推荐(0)
摘要:
what python中的上下文 这个概念属于语言学科,指的是一段话的意义,要参考当前的场景,既上下文 在python中,上下文可以理解为是一个代码区间,一个范围 ,例如with open 打开的文件仅在这个上下文中有效 我们知道在操作文件对象的时候可以这么写 上述叫做上下文管理协议,即with语句 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(134)
评论(0)
推荐(0)
摘要:
\_\_str\_\_ 会在对象被转换为字符串时或print()时候,转换的结果就是这个函数的返回值 使用场景:我们可以利用该函数来自定义,对象的是返回值(一般人为为打印格式) 列子一 列子二 \_\_repr\_\_ str函数或者print函数 obj.\_\_str\_\_() repr或者交 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(79)
评论(0)
推荐(0)
摘要:
实现点方法的魔法方法: getitem setitem delitem \_\_getitem\_\_ 当你用中括号去获取属性时 执行 getitem执行 18 setitem执行 \_\setitem\_\_ 当你用中括号去设置属性时 执行 输出结果 对应 \_\_setitem\_\_ 方法代码 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(107)
评论(0)
推荐(0)
摘要:
实现点方法的魔法方法: getattr setattr delattr getattribut getattr 只有在使用点调用属性且属性不存在的时候才会触发 输出结果: setattr 添加/修改属性会触发它的执行 输出结果: 会多一个 key为z value为3 的键 delattr 删除属性的 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(108)
评论(0)
推荐(0)
摘要:
isinstance isinstance(obj,cls)检查是否obj是否是类 cls 的对象 提到 isinstance 不得不提一下type 带入场景 在游戏项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。 这样做不但便于调试,而且增加健壮 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(99)
评论(0)
推荐(0)
摘要:
一丶什么是反射 反射就是通过字符串来操作类或者对象的属性 二丶怎么用反射 1. hasattr:判断一个方法是否存在与这个类中 2. getattr:根据字符串去获取obj对象里的对应的方法的内存地址,加"()"括号即可执行 3. setattr:通过setattr将外部的一个函数绑定到实例中 4. 阅读全文
posted @ 2019-09-21 10:56
suren_apan
阅读(124)
评论(0)
推荐(0)
摘要:
类的分类 新式类 继承了object的类以及该类的子类,都是新式类 Python3中所有的类都是新式类 经典类 没有继承object的类以及该类的子类,都是经典类 只有Python2中才有经典类 菱形继承问题 如果继承关系为菱形结构,即子类的父类最后继承了同一个类,那么属性的查找方式有两种: 经典类 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(219)
评论(0)
推荐(0)
摘要:
类的组合 什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外外一个类的对象 大白话理解:也是一种关系,描述两个对象之间 是什么有什么的关系 将一个对象作为另一个对象的属性,(既什么有什么) 组合可以理解成多个人去造一个机器人,有的人造头、有的人造脚、有的人造手、有的人造躯干,大家都 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(98)
评论(0)
推荐(0)
摘要:
类的派生和覆盖 什么是派生 子类中新定义的属性的这个过程叫做派生,并且需要记住子类在使用派生的属性时始终以自己的为准 当一个子类中出现了与父类中不同的内容时,这个子类就称之为派生类 通常子类都会写一些新的代码,不可能和父类完全一样 , 既通常都是派生类, 所以派生类指的就是子类 什么是覆盖 也称之为 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(142)
评论(0)
推荐(0)
摘要:
类的继承 什么是继承 1.继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类,也成为了基类 2.继承的子类能直接使用父类已经存在的方法和属性 3.继承是类与类之间的关系 为什么用继承 继承的一方可以直接使用被继承一方已经有的东西 其目的是为了重用已经有的代码,提高重用性 使用继承可以减少代 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(142)
评论(0)
推荐(0)
摘要:
接口 接口是一组功能的集合,但是接口中仅包含功能的名字,不包含具体的实现代码 接口本质是一套协议标准,遵循这个标准的对象就能被调用 接口目的: 为了提高扩展性 例如电脑提前指定制定一套USB接口协议,只要你遵循该协议,你的设备就可以被电脑使用,不需要关心到底是鼠标还是键盘 封装描述了对数据/信息进行 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(109)
评论(0)
推荐(0)
摘要:
什么是property特性 property装饰器用于将被装饰的方法伪装成一个数据属性,在使用时直接使用 语法 property属性的两种方式 1. 装饰器 即:在方法上应用装饰器(推荐使用) 2. 类属性 即:在类中定义值为property对象的类属性(Python2历史遗留) property属 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(91)
评论(0)
推荐(0)
摘要:
什么是类的封装 对外隐藏内部实现细节和属性,并提供简易访问的接口 为什么要封装 两个目的: 1.为了保证 关键数据的安全性 2.对外部隐藏实现细节,隔离复杂度 【好处】 1. 将变化隔离; 2. 便于使用; 3. 提高复用性; 4. 提高安全性; 权限 python中的权限分为两种 1.公开 外界 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(114)
评论(0)
推荐(0)
摘要:
面向对象的多态可分为多态和多态性 面向对象编程的多态可以分为多态和多态性 概念 官方解释: 多个不同类对象可以响应同一个方法,产生不同的结果 首先强调多态不是一种特殊的语法,而是一种状态,特性(既多个不同对象可以响应同一个方法,产生不同的结果 ) 既多个对象有相同的使用方法, 好处 对于使用者而 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(108)
评论(0)
推荐(0)
摘要:
单纯调用父类方法 列子 使用FatFather.__init__(self,name)直接调用父类的方法。 super()方法登场 super()描述 super() 函数是用于调用父类(超类)的一个方法。 super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如 阅读全文
posted @ 2019-09-21 10:54
suren_apan
阅读(186)
评论(0)
推荐(0)
摘要:
一丶没有对象 以未来我们要连接数据库举例,如果没有面向对象的思想,我们只要想要使用一个方法,就必须得这样做 由于host、port、db、charset可能是固定不变的,sql一直在变化,因此我们通过上述的方法实现不同的sql语句,非常麻烦,因此我们可以改用默认形参 虽然是用默认参数简化了操作,但是 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(138)
评论(0)
推荐(0)
摘要:
一丶类与数据类型 python3中统一了类与类型的概念,类就是类型 lis和lis2都是实例化的对象,因此lis使用append方法和lis2无关 二丶list.append()方法原理 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(89)
评论(0)
推荐(0)
摘要:
一丶属性查找 先从对象自己的名称空间找,没有则去类中找,如果类也没有则报错 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(76)
评论(0)
推荐(0)
摘要:
一丶对象的绑定方法 类名称空间中定义的数据属性和函数属性都是共享给所有对象用的 对象名称空间中定义的只有数据属性,而且是对象所独有的数据属性 二丶类使用对象的绑定对象 类中定义的函数是类的函数属性,类可以使用,但使用的就是一个普通的函数而已,意味着需要完全遵循函数的参数规则,该传几个值就传几个 三丶 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(91)
评论(0)
推荐(0)
摘要:
类中定义的函数是类的函数属性,类可以使用,但使用的就是一个普通的函数而已,意味着需要完全遵循函数的参数规则,该传几个值就传几个 一丶引入 对于上述的学生类,如果类的属性改了,则其他对象的属性也会随之改变 ` OldboyStudent.school = 'OLDBOY' ` 二丶定制对象特有属性 对 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(97)
评论(0)
推荐(0)
摘要:
一丶类和对象 类的意思:种类、分类、类别 对象是特征与技能的结合体,我可能有身高体重、而你也有身高体重,所以你会说你像我,但是你一定不会说你像阿猫阿狗。并且我和你其实就可以说成是一类,而你和选课系统不能说是一类,因此给出类的定义:类就是一系列对象相似的特征与技能的结合体。 在现实世界中:先有一个个具 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(87)
评论(0)
推荐(0)
摘要:
一丶面向对象编程 面向过程变成的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么…… 基于面向过程编程的思想编写程序好比在设计一条流水线,是一种机械式的思维方式。 优点:复杂的问题流程化、进而简单化 缺点:扩展性差 二丶面向对象编程 你可以把你自己想象成如来佛祖,然后你想找四个 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(86)
评论(0)
推荐(0)
摘要:
面向对象已经成为了主流的开发思想。OOP 参考链接地址: https://www.cnblogs.com/nickchen121/p/10981462.html 阅读全文
posted @ 2019-09-21 10:48
suren_apan
阅读(102)
评论(0)
推荐(0)
摘要:
一丶正则表达式 正则表达式本身是一种小型的、高度专业化的编程语言,它并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(145)
评论(0)
推荐(0)
摘要:
一丶低配logging 日志总共分为以下五个级别,这个五个级别自下而上进行匹配 debug info warning error critical,默认最低级别为warning级别。 1.1 v1 `WARNING:root:警告信息 ERROR:root:报错信息 CRITICAL:root:严重 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(97)
评论(0)
推荐(0)
摘要:
在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.d 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(109)
评论(0)
推荐(0)
摘要:
一丶序列化 把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening。 序列化的优点: 1.持久保存状态:内存是无法永久保存数据的,当程序运行了一段时间,我们断电或者重 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(113)
评论(0)
推荐(0)
摘要:
一丶hashlib模块 hash是什么 hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值。 hash值的特点: 1 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(153)
评论(0)
推荐(0)
摘要:
一丶sys模块 sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。 方法|详解 |: :| : sys.argv|命令行参数List,第一个元素是程序本身路径 sys.exit(n)|退出程序,正常退出时exit(0),错误退出sys.exit 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(103)
评论(0)
推荐(0)
摘要:
一丶os模块 os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口,多用于文件处理。 os开头 方法|详解 |: :| : os.makedirs('dirname1/dirname2')|os.makedirs('dirname1/dirname2') os.removedirs('di 阅读全文
posted @ 2019-09-21 10:45
suren_apan
阅读(123)
评论(0)
推荐(0)

浙公网安备 33010602011771号