- 博客(52)
- 问答 (1)
- 收藏
- 关注
原创 Python基础(17)——网络编程
Python网络编程1 基础知识1.1 OSI七层模型与TCP/IP五层模型1.1.1 OSI七层模型1.1.2 TCP/IP五层模型1.2 TCP与UDP1.2.1 TCP协议1.2.2 UDP协议1.2.3 面试常见问题2 Socket编程2.1 Socket 基础2.2 基于TCP套接字编程2.2.1 编程思路2.2.2 常用方法2.2.3 客户端和服务端的简单实现2.3 基于UDP套接字编程3 socketserver模块1 基础知识1.1 OSI七层模型与TCP/IP五层模型1.1.1 OS
2021-06-21 20:12:12 388
原创 Python基础(16)——文件读写
文件读写以及with语句用法1. 打开文件2. 读取文件2.1 按字节或字符读取2.2 按行读取3. 写文件3.1 按字节或字符写3.2 按行写4. 游标5. with语法5.1 使用with语句打开文件5.2 什么样的对象可以用with语句实例化1. 打开文件Python中提供了一个内置的open()函数,该函数用于打开指定文件。open(filename [, access_mode][, buffering][, encoding])其中access_mode表示文件打开模式,共有如下几种:
2021-06-02 17:09:23 596 2
原创 数据结构和算法——树(2)
平衡二叉树、线索二叉树、B-树和B+树五、平衡二叉树5.1 AVL树5.1.1 AVL树的定义5.1.2 AVL树的调整5.1.3 AVL树的实现5.2 红黑树六、线索二叉树6.1 产生背景和定义6.2 线索二叉树的构造6.3 访问线索二叉树七、B-树和B+树7.1 B-树7.2 B+树上接 数据结构和算法——树(1)五、平衡二叉树平衡二叉树它是一棵二叉排序树,它或者为空树,或者它的左右子树的高度差的绝对值不超过1,并且左右两个子树均为平衡二叉树。5.1 AVL树5.1.1 AVL树的定义AVL
2021-05-25 16:48:18 553
原创 数据结构和算法——树(1)
数据结构和算法——树(1)一、二叉树1.1 二叉树的结点结构定义1.2 二叉树的建立1.3 二叉树的遍历方式二、优先队列2.1 什么是优先队列2.2 优先队列的实现方式2.2.1 使用`Python`中的`list`来实现。2.2.2 使用堆来实现优先队列三、哈夫曼树3.1 构造哈夫曼树的算法3.2 哈夫曼算法的实现四、二叉排序树(二叉搜索树)4.1 二叉排序树插入4.2 二叉排序树查找4.3 二叉排序树删除4.4 二叉排序树及其操作的实现一、二叉树二叉树是一种最简单的树形结构,它的特点是树中的每个结点
2021-05-14 20:49:00 458
原创 Python基础(15)——正则表达式和re模块
正则表达式和re模块1 正则表达式简介1.1 元字符1.2 重复1.3 字符转义1.4 字符组1.5 分枝条件1.6 分组1.7 反义1.8 后向引用1.9 零宽断言1.10 负向零宽断言1.11 注释1.12 贪婪与懒惰1.13 处理选项1.14 平衡组\递归匹配2. re模块简介1 正则表达式简介正则表达式是使用单个字符串来描述、匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。正则表达式通常是由普通字符(例如a到z)以及特殊字符(称为元字符)组成的文字模式。1.1 元字符
2021-03-15 10:07:11 359
原创 Python基础(14)——常用模块(三)
常用模块——json、pickle、collections等5. 序列化相关模块5.1 json模块5.2 pickle模块6. 容器相关6.1 set和frozenset6.2 双端队列(deque)6.3 堆(heap)6.4 其它常用容器6.4.1 ChainMap对象6.4.2 Counter对象6.4.3 defaultdict对象6.4.4 OrderedDict对象5. 序列化相关模块序列化是指将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式的过程称为序列化;反之称为反序列化。序
2021-01-14 17:58:51 184
原创 Python基础(13)——常用模块(二)
常用模块——time、datetime4. 时间相关模块4.1 time模块4.1.1 `time`模块常用函数4.1.2 格式化字符串支持的符号4.1.3 时间格式转换图4.2 datetime模块4.2.1 date类4.2.2 time类4.2.3 datetime类4.2.4 timedelta类4.2.5 tzinfo类4.2.6 timezone类4. 时间相关模块Python中表示时间的格式主要有三种:timestamp(时间戳):时间戳表示的是从1970年1月1日00:00:00开始
2021-01-11 19:01:33 716 2
原创 Python基础(12)——常用模块(一)
常用模块(一)——sys、os1. sys模块2. os模块1. sys模块sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。常用函数及变量如下:sys.argv:获取当前正在执行的命令行参数的参数列表,参数通过空格符分割。import sysprint(sys.argv)# 执行python demo.py test test1#======output=====['demo.py', 'test', 'test1']sys.version:获取python
2021-01-08 17:06:33 179
原创 Python基础(11)——模块和包
模块和包1、定义2、模块的导入2.1 使用import语句2.2 使用__import__导入2.3 使用importlib导入模块3. 定义模块1、定义 在python中,一个.py文件就是一个模块(module),在每个.py文件中,可以定义一系列封装类似功能的变量、函数、类等。包含多个.py文件的文件夹组成了一个包(package),当然在这个文件夹中必须要包含一个__init__.py文件。他们都可以通过import语句导入。不论是一个单独的.py文件,还是一个包,我们都可以将其称为模块。
2021-01-04 20:51:32 412
原创 Python基础(10)——字符串
字符串1. 字符串的拼接2. repr和str3. 字符串格式化3.1 %方式格式化3.2 format方式格式化4. 字符串的截取(切片)5. 字符串的常用方法学习Python中的字符串,要记住一句话:Python中的字符串是不可变的!!!1. 字符串的拼接# 拼接字符串, 直接使用+s1 = "Meng"s2 = "Test"s3 = s1 + s22. repr和strrepr()和str()均可以将数值转换成字符串,str()函数将值转化成更适于人阅读的形式,而repr()转化为
2021-01-04 15:04:52 166
原创 Python基础(9)——异常处理
异常处理1. 异常的定义2. 异常引发3. 异常处理3.1 try...except捕获异常3.2 try...except....else捕获异常3.3 try...except...finally捕获异常4. 访问异常信息4.1 异常对象访问异常信息4.2 使用`traceback`模块访问异常5. 自定义异常1. 异常的定义异常就是一个事件, 它影响了一个程序的正常运行,也可以理解为,程序运行到了一个不能处理的问题,然后产生的一个错误。在python中异常相关的关键字:try、except、el
2021-01-01 21:06:54 781
原创 Python基础(8)——类和对象(二)
类和对象(二)5. 高级用法5.1 type和object5.2 使用type()函数定义类5.3 metaclass的使用5.4 类作为装饰器5. 高级用法5.1 type和object在python中一切皆对象,一个python对象可能拥有两个属性,__class__和__bases__,前者表示这个对象是谁创建的,后者表示一个类的父类是谁。type为对象的顶点,所有对象都创建自type。object为类继承的顶点,所有类都继承自object。参考自链接5.2 使用type()函数
2020-12-07 20:49:32 184
原创 Python基础(7)——类和对象(一)
类和对象(一)1. 基本概念2. 类的定义和实例化3. 类中的属性和方法3.1 属性3.1.1 类属性3.1.2 实例属性3.2 方法3.3 类的特殊方法3.3.1 常用特殊方法3.3.2 实现迭代器常用特殊方法3.3.3 运算符重载的特殊方法3.3.4 比较运算符重载的方法3.3.5 与单目运算符相关的特殊方法3.3.6 与类型转换相关的特殊方法3.3.7 与常见内建函数相关的特殊方法4. 类的特性4.1 封装4.2 继承4.2.1 单继承4.2.2 多继承4.3 多态Python中一切皆对象。1
2020-11-23 14:59:23 1399
原创 清华镜像源
channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/ - defaultsshow_channel_urls: truechannel_alias: https://mirrors.tuna.tsinghua.edu.cn/anacondadefault_c
2020-10-20 10:47:49 1589
原创 Python基础(6)——函数和lambda表达式(下)
函数和lambda表达式(下)5. 函数的高级用法5.1 局部函数(嵌套函数)5.2 高阶函数5.3 函数的闭包5.4 函数装饰器5.4.1 无参函数装饰器5.4.2 有参函数装饰器5.4.3 有返回值函数装饰器5.4.4 带参数的装饰器5.5 偏函数5.6 生成器函数6. Python中的内置函数7. 其它7.1 对函数的参数和返回值类型的指定和检查7.1.1 基本类型的指定7.1.2 复杂的指定(集合相关类型的指定)7.1.3 泛型的指定7.1.4 创建变量时的类型指定5. 函数的高级用法5.1 局
2020-10-15 10:54:42 371
原创 Python基础(5)——函数和lambda表达式(上)
函数和lambda表达式(上)1. 函数简介2. 函数的定义和调用2.1 参数传递问题2.2 函数的参数传递机制2.3 返回值问题3. 变量的作用域4. lambda表达式(匿名函数)1. 函数简介函数是执行特定任务的一段代码,程序通过将一段代码定义成函数,并为该函数制定一个函数名,这样就可以在需要的时候多次调用这段代码。将实现不同功能代码中使用相同的代码逻辑的部分封装成一个函数,可以减少代码冗余。一个函数主要分为三部分:参数、逻辑处理和返回值在定义一个函数的时候,上述三部分的定义要想清楚:
2020-10-12 16:24:26 349
原创 Python基础(4)——流程控制
Python中的流程控制1. 顺序结构2. 分支结构3. 循环结构4. if三目运算5. for表达式6. 断言7. 流程控制练习7.1. 绕圈圈7.2. N阶幻方python中的程序控制结构主要有顺序结构、分支结构和循环结构。1. 顺序结构顺序结构就是程序从上到下一行行的执行,中间没有任何判断和跳转。2. 分支结构if语句,使用布尔表达式或者布尔值作为分支条件来进行分支控制。if expression: statements...elif expression1:
2020-10-09 19:33:34 360
原创 Python基础(3)——字典
Python中的字典1. 字典的创建2. 字典底层实现原理3. 字典的基本用法4. 字典中的常用方法1. 字典的创建字典就是一个存放键——值对的集合。每一个键都与一个值相关联,可以通过键来直接获取到对应的值。dict1 = {'name': "Meng"} dict2 = dict(name='Meng')注:键值必须是不可变的数据类型,如字符串,元组,数字,而列表,字典,集合都不能作为字典的键。2. 字典底层实现原理Python中字典是通过散列表来实现的,也就是说,字典也是一个数
2020-10-08 19:33:07 238
原创 Python基础(2)——列表和元组
Python中的列表和元组列表列表的创建修改列表元素列表中的常用方法元组元组的创建元组中的常用方法列表列表的创建列表类似于数组,但是它可以存储任意类型的数据,而不是同一种数据类型的集合。#列表的定义主要有以下两种方式:list1 = []list2 = list()修改列表元素修改列表中的元素主要有两种方法:利用单个索引来对列表中的元素进行赋值利用切片方法来对列表中的一部分来进行赋值list1 = [1, 2, 3, 4]print(list1)list1[2] =
2020-10-07 19:36:11 173
原创 Python基础(1)——变量和简单类型
Python中的变量和简单类型1. Python语言类型(强OR弱)2. 变量命名规则3. 数据类型3.1 数值类型3.2 字符串类型3.3 Bytes类型1. Python语言类型(强OR弱)Python是一种弱类型编程语言,也就是说在编写代码的时候我们无需提前对变量进行声明即可对其进行赋值,同时,变量的数据类型可以动态的改变,对同一个变量可以进行多次不同类型的赋值。# examplea = 12print(a, type(a))a = "Test"print(a, type(a))#
2020-10-05 19:19:42 296
原创 MySQL中的常用内置函数
MySQL中的常用内置函数常用函数1. 字符串函数2. 数值函数3. 日期和时间函数4. 流程函数5. 其它常用函数常用函数1. 字符串函数函数功能CANCAT(S1, S2, …, Sn)连接S1,S2,…, Sn为一个字符串INSERT(str, x, y, instr)将字符串str从第x位置开始,y个字符长的子串替换为字符串instrLOWER(s...
2020-04-03 17:41:47 325
原创 MySQL中数据类型以及运算符
常用约束条件primary key(PK):标识该字段为表的主键,可以唯一的标识记录,主键是不为空且唯一的,并且有加速查询的作用。foreign key(FK):标识该字段为该表的外键,用来建立表与表之间的关联关系。如:FOREIGN KEY(deptId) REFERENCES tb_dept1(id)。not null:标识该字段不能为空。unique key(UK):标识该字段的值...
2020-03-08 18:52:42 399
原创 SQL基础及基本MySQL语法
数据库操作以及MySQL中的数据类型数据库操作创建数据库使用数据库删除数据库查看数据库修改数据库数据类型相关数值类型整数类型浮点数类型定点数类型字符串类型日期时间类型二进制类型数据库操作创建数据库create database [if not exists] 数据库名 [default charset utf8 collate utf8_general_ci];if not exists:...
2020-03-06 11:12:09 758
原创 数据库概述及MySQL的安装配置
概述MySQL是一个关系型数据库,它是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中,这样就增加了速度并提高了灵活性。基本术语数据库:数据库是关联表的集合,一个库里面可以有很多表。数据表:表是数据的矩阵。列:一列包含了相同的数据,例如:姓名行:一行是一组相关的数据,例如一条用户个人信息数据冗余:存储两倍数据,冗余降低了速度,但是可以提高...
2020-03-06 10:44:51 305 1
原创 centos7安装python3及虚拟环境
Centos7安装python3及虚拟环境一、Centos7安装python31.1 安装编译环境及相关类库1.2 下载安装包1.3 编译安装1.4 将python3加入环境变量1.5 更新pip二、安装虚拟环境2.1 安装virtualenv和virtualenvwrapper2.2 对virtualenvwrapper进行配置2.3 virtualenvwrapper基本使用命令一、Cent...
2020-03-01 10:51:29 895
原创 python环境相关问题记录
环境相关操作更换pip安装源删除pip安装缓存更换pip安装源临时更换:pip install -i https://pypi.douban.com/simple 模块名永久更换:win下更换1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中2、新建 pip 文件夹并在文件夹中新建 pip....
2020-02-21 21:11:58 529
原创 RabbitMQ笔记
RabbitMQ消息队列RabbitMQRabbitMQ简单使用概念简介五种工作模式1.简单模式2.工作模式(资源争抢)3.发布订阅(publish/fanout)4.路由模式(routing/direct)5.主题模式(topic)消息队列概念:消息队列(Message Queue,简称MQ)是一种跨进程、异步的通信机制,用于上下游传递消息。由消息系统来确保消息的可靠传递。主要用于不同进程P...
2020-02-09 12:34:32 485
原创 python装饰器
Python装饰器什么是装饰器实现装饰器的先导知识函数嵌套闭包高阶函数函数装饰器什么是装饰器python装饰器实际上就是一个函数,它可以让已经实现的函数在不需要在原代码上做任何代码的处理的前提下增加额外的功能,装饰器的返回值也是一个对象。装饰器应该遵循以下原则:开放和封闭。开放:对现有功能的扩展开放封闭:已实现的功能代码不应该被修改实现装饰器的先导知识函数嵌套函数嵌套就是在一个...
2020-01-16 22:37:01 146
原创 考研数据结构笔记--数组、矩阵和广义表
数组、矩阵和广义表一、数组1.1考研中常用的两种数组:1.2 二维数组的两种存储方式二、矩阵的压缩存储2.1 对称矩阵2.2 三角矩阵2.3 对角矩阵2.4 稀疏矩阵三、广义表3.1 概念3.2 三个重要结论3.3 广义表的存储结构一、数组1.1考研中常用的两种数组:一维数组(a0, a1, a2, ……, an-1)二维数组[(a0, 0, a0, 1, a0, 2, ……,...
2019-10-12 15:08:57 835
原创 考研数据结构笔记--串(2)——模式匹配
模式匹配简单模式匹配算法实现代码KMP算法计算next数组代码简单模式匹配算法简单模式匹配算法,就是用模式串去跟主串进行匹配,从主串的第一个字符开始与模式串进行匹配,若主串中字符与模式串中字符匹配失败,则从主串的第二个字符开始与模式串的第一个字符开始匹配,以此类推,若整个模式串匹配成功,则返回位置。主 串:a b a b c a b a a c a b模式串:a b a a第一趟匹配:...
2019-09-19 23:46:10 354
原创 考研数据结构笔记--串(1)
串(1)串的定义串的存储结构串的基本操作串的定义串是由零个或多个字符组成的有限序列。串中字符的个数称为串的长度。零个字符的串称为空串。串中任意个连续字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。串的逻辑结构和线性表类似,串是限定了元素为字符的线性表。串的存储结构定长顺序存储表示#define maxSize 100typedef struct { c...
2019-09-16 22:08:33 446
原创 考研数据结构笔记--队列
队列队列的基本概念队列的结构体定义顺序队列顺序队列操作代码链队列链队的基本操作代码队列的基本概念队列的定义:是一种先进先出的线性表,仅允许在表的一端进行插入,在表的另一端进行删除,可进行插入操作的一端称为队尾,可进行删除操作的一端称为队首。队列的特点:先进先出(First In First Out,FIFO)。队列的存储结构:可以分为顺序队列和链队。队列的结构体定义//顺序队列的定...
2019-09-10 22:38:30 375
原创 考研数据结构笔记--栈
栈栈的基本概念栈的结构体定义顺序栈顺序栈操作代码链栈链栈基本操作代码栈的基本概念栈的定义:栈是一种只能在一端进行插入或删除操作的线性表,栈顶:允许进行插入或删除操作的一端称为栈顶栈底:相对于栈顶在表的另一端,不能进行插入或删除操作的一端称为栈底,栈底是固定不变的。入栈:向栈中插入元素出栈:删除栈顶元素栈最主要的特点就是先进后出(Last In First Out)按照存储结构分,可...
2019-09-07 19:04:39 398
原创 考研数据结构笔记--双链表和循环链表
双链表和循环链表双链表结点结构体定义双链表的操作循环链表双链表结点结构体定义typedef struct DLNode{ int data; //数据 struct DLNode *prior; //指向前驱结点的指针 struct DLNode *next; //指向后继结点的指针}DLNode;双链表的操作//尾插法建立...
2019-09-03 19:15:26 466 1
原创 考研数据结构笔记--单链表
单链表单链表结点定义单链表的操作单链表结点定义//单链表结点定义typedef struct LNode{ int data; //data中存放结点数据域(以int类型为例) struct LNode *next; //指向后继结点的指针}LNode; //定义单链表结点类型单链表的操作//尾插法创建单链表/*...
2019-08-28 19:56:27 362
原创 考研数据结构笔记--顺序表
顺序表结构体定义顺序表的操作结构体定义#define maxSize 100//顺序表的结构体定义typedef struct{ int data[maxSize]; //存放顺序表元素的数组(以int类型为例) int length; //存放顺序表的长度}Sqlist; //顺序表类型的定义顺序表的操作//初始化...
2019-08-16 08:16:38 559
原创 考研数据结构笔记--线性表概述
线性表一、线性表的基本概念二、线性表的结构体定义一、线性表的基本概念1.1 线性表的定义线性表是具有相同特性的数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度。1.2 线性表的逻辑特性只有一个表头元素,只有一个表尾元素,表头元素没有前驱,表尾元素没有后继,除表头和表尾元素元素之外,其他元素只有一个直接前驱,也只有一个直接后继。1.3 线性表的存储结构线性表的存储结构有顺...
2019-08-15 11:40:01 334
原创 考研数据结构笔记--数据结构和算法的基本概念
考研数据结构笔记--数据结构和算法的基本概念数据结构的基本概念算法的基本概念数据结构的基本概念数据数据是对客观事物的符合表示,在计算机科学中是指所有能输入到计算机中并且被计算机程序处理的符合的总称。例如,整数、实数和字符串都是数据。数据元素数据元素时数据的基本单位,在计算机程序中通常将其作为一个整体进行考虑或处理。一个数据元素可以由若干个数据项组成。数据项数据项是数据结构...
2019-08-14 11:47:16 2861
原创 Django简介及Django项目常用命令
Django基础Django基础什么是WEB框架?Django基本命令:什么是WEB框架? 框架(framework)就是特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单而言,框架就是一个一个毛坯房,你可以在它上面进行装饰和改造(但改造的过程你要保证楼不倒)。一般的web框架结构: Djan...
2018-09-12 20:53:00 1076
原创 RIP总结
RIP总结简介: RIP(Routing Information Protocol)是一种基于距离矢量算法的路由协议,通过跳数来衡量路由条目的优劣。特点:RIP是基于UDP的路由协议,端口号是520 管理距离120 周期性的更新路由信息 其度量值只跟跳数有关,每穿越一个路由器跳数加一,最大为15跳,16跳即为不可达 支持等价负载均衡 支持自动汇总消息类型:...
2018-08-19 17:54:10 611 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人