自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 4.1.1-4.6.4Python提高

1、GIL(全局解释器锁):每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码。Python使用多进程是可以利用多核的CPU资源的。多线程爬取比单线程性能有提升,因为遇到IO阻塞会自动释放GIL锁。2、深拷贝、浅拷贝1)浅拷贝浅拷贝是对于一个对象的顶层拷贝通俗的理解是:拷贝了引用,并没有拷贝内容2)深拷贝深拷贝是对于一个对象所有层次的拷贝(递归)3)拷贝的其他方式分片表达式可以赋值一个序列,如d = c[:]字典的copy方法可以拷贝一个字典注意点浅拷贝

2020-06-21 17:10:26 156

原创 3.2.1-3.4.11 http协议及Web服务器实现

HTTP协议是浏览器和服务器之间的传输协议,是在网络上传输HTML的协议,用于浏览器和服务器的通信。1、 HTTP格式每个HTTP请求和响应都遵循相同的格式,一个HTTP包含Header和Body两部分,其中Body是可选的。HTTP协议是一种文本协议,所以,它的格式也非常简单。1.1 HTTP GET请求的格式:GET /path HTTP/1.1Header1: Value1Header2: Value2Header3: Value3每个Header一行一个,换行符是\r\n。1.2

2020-06-21 13:26:20 217

原创 3.1.1-3.1.8正则表达式

在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个re模块。re模块的使用过程#coding=utf-8# 导入re模块import re# 使用match方法进行匹配操作result = re.match(正则表达式,要匹配的字符串)# 如果上一步匹配到数据的话,可以使用group方法来提取数据result.group()1、匹配单个字符2、匹配多个字符3、匹配开头结尾4、匹配分组5、re模块的高级用法1)search#coding=utf-

2020-05-27 18:02:27 165

原创 2.3.2-2.3.11生成器以及协程gevent介绍

1、生成器:是一类特殊的迭代器。1)创建生成器的方法1:只要把一个列表生成式的 [ ] 改成 ( ),对于生成器G,我们可以按照迭代器的使用方法来使用,即可以通过next()函数、for循环、list()等方法使用。In [17]: G = ( x*2 for x in range(5))In [18]: GOut[18]: <generator object at 0x7f626c132db0>2)创建生成器方法2:在使用生成器实现的方式中,我们将原本在迭代器__next__方法中

2020-05-25 09:53:59 184

原创 2.3.1迭代器的介绍

1、迭代器:迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。2、可迭代对象:对list、tuple、str等类型的数据使用for…in…的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。list、tuple、str等类型的数据被称为是可迭代对象。3、如何判断一个对象是否可以迭代可以使用 i...

2020-05-07 12:01:58 177

原创 2.2.1-2.2.5多任务进程及进程池介绍

2.2.5

2020-05-02 21:52:38 166

原创 1.4.2-2.1.11多线程的相关内容

1.4.2-2.1.111、tcp注意点1)tcp服务器一般情况下都需要绑定,否则客户端找不到这个服务器2)tcp客户端一般不绑定,因为是主动链接服务器,所以只要确定好服务器的ip、port等信息就好,本地客户端可以随机3)tcp服务器中通过listen可以将socket创建出来的主动套接字变为被动的,这是做tcp服务器时必须要做的4)当客户端需要链接服务器时,就需要使用connect进...

2020-04-04 17:36:14 161

原创 3.1-4.1TCP构建流程

3.1-4.1TCP构建流程TCP与UDP的不同点1)面向连接(确认有创建三方交握,连接已创建才作传输。)2)有序数据传输3)重发丢失的数据包4)舍弃重复的数据包5)无差错的数据传输6)阻塞/流量控制tcp客户端构建流程from socket import *1)#创建sockettcp_client_socket = socket.socket(socket.AF_INET...

2020-04-03 23:36:26 134

原创 1.1-2.10 网络编程1

1.1-2.10IP地址:用来在网络中标记一台电脑,比如192.168.1.1;在本地局域网上是唯一的。端口号:用来区分不同的网络服务知名端口(Well Known Ports)知名端口是众所周知的端口号,范围从0到102380端口分配给HTTP服务21端口分配给FTP服务动态端口(Dynamic Ports)动态端口的范围是从1024到65535,之所以称为动态端口,是因为它一般...

2020-03-29 22:35:55 93

原创 游戏项目学习

pygame安装命令sudo pip3 install pygame验证是否安装成功python3 -m pygame.examlpes.aliens

2020-03-28 14:17:56 222

原创 072-100面向对象的介绍4

072-1001、模块:每一个以扩张名.py结尾的Python源代码文件都是一个模块,模块名同样也是一个标识符,需要符合标识符的命名规则,在模块中定义的全局变量、函数、类都是提供给外借直接使用的工具。模块就好比工具包,需要使用这个工具包中的工具,就需要先导入这个模块。import 模块名1import 模块名2导入之后,通过模块名. 使用模块提供的工具——全局变量、函数、类。使用as指...

2020-03-15 22:27:27 147

原创 052-071面向对象的介绍3

052-071类方法:就是针对类对象定义的方法,在类方法内部可以直接访问类属性 或者调用其他的类方法,语法如下:@classmethoddef 类方法名(cls):通过类名. 调用类方法,不需要传递cls参数,这个参数和实例方法的第一个参数self类似,在类方法内部,可以通过cls. 访问类的属性,也可以通过cls. 调用其他的类方法。静态方法:如果在类中封装的方法,该方法既不需要访问实...

2020-03-15 00:06:00 136

原创 018-051面向对象的介绍2

018-051内置方法和属性1)__del__方法:对象从内存中被销毁前,会被自动调用。2)__str__方法:返回对象的描述信息,print函数输出使用。被使用的类应该先开发,多个对象属性之间互不干扰一个对象的属性可以是另外一个类创建的对象定义没有初始值的属性:在定义属性时,如果不知道设置什么初始值,可以设置为None。None关键字表示什么都没有,表示一个空对象,没有方法和属性,是...

2020-03-14 18:36:18 125

原创 001-017面向对象的介绍1

001-0171、类和对象:是面向对象编程的两个核心概念1.1、类:是对一群具有相同特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用特征 被称为 属性行为 被称为 方法1.2、对象: 是由类创建出来的一个具体存在,可以直接使用由哪一个类创建出来的对象,就拥有在哪一个类中定义的:属性和方法在程序开发中,应该先有类,再有对象。在程序开发中,要设计一个类,通常需要满足以下三个要...

2020-03-08 21:02:44 124

原创 232-259局部变量、全局变量、缺省参数和递归的介绍

232-2591、局部变量和全局变量局部变量是在函数内部定义的变量,只能在函数内部使用全局变量是在函数外部定义的变量(没有定义在某个函数内),所有函数内部都可以使用这个变量在函数内部 ,可以通过全局变量的引用获取对应的数据但是,不允许直接修改全局变量的引用——使用赋值语句修改全局变量的值(这样相当于在函数内部重新定义一个局部变量)如果在函数中要修改全局变量,需要使用global进行声明...

2020-03-08 18:00:24 465

原创 211-231变量引用、可变和不可变类型数据介绍

211-231Linux上的Shebang符号(#!)Shebang 通常在Unix系统脚本中 第一行开头使用,用来指明执行这个脚本文件的解释程序使用Shebang的步骤:1)使用which查询python3解释器所在路径which python32)修改要运行的 主python文件,在第一行增加一下内容#!/usr/bin/python33)修改主python文件的文件权限,增加...

2020-03-08 00:16:51 248

原创 196-210容器类型公共方法

196-容器类型公共方法in 在对字典操作时,判断的是字典的键in 和 not in 被称为成员运算符完整的for循环语法:for 变量 in 集合:循环体代码else:没有通过break退出循环,循环结束后,会执行的代码在开发程序时,不希望立刻编写分支内部的代码,可以使用pass关键字,表示一个占位符,能够保证程序的代码结构正确。...

2020-03-01 23:19:57 153

原创 158-196非数据型数据列表、元组、字典和字符串的介绍

158-196在Python中,所有非数字型变量 都支持以下特点:1、都是一个序列,也可以理解为容器2、取值 []3、遍历 for in4、计算长度、最大/最小值、比较、删除5、链接和重复6、切片1、列表(List)是Python中使用最频繁的数据类型,专门用于储存一串信息,列表用 [] 定义,数据之间使用 , 分割,列表的索引(也就是数据的下标)从0开始。name_list =...

2020-03-01 16:30:12 371

原创 133-157函数相关内容介绍

133-157函数就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用,使用函数可以提高编写的效率以及代码的重用。函数的使用包含两个步骤:1)定义函数——封装 独立的功能2)调用函数——享受封装的成果定义函数的格式如下:def 函数名():函数封装的代码提示:函数名 应该能够表达函数封装代码的功能,方便后续的调用;函数的命名应该符合标识符的命名规则:1)由字母、数字和下划线...

2020-03-01 00:03:25 154

原创 086-132if判断语句和while循环语句的介绍

086-132if…else…:命令格式如下:if 要判断的条件:条件成立时,要做的事情else:条件不成立时,要做的事情提示:if和else语句以及各自的缩进部分共同是一个 完整的代码块1、逻辑运算符:与and、或or、非not2、if语句进阶if 条件1:条件1满足要执行的代码elif 条件2:条件2满足要执行的代码elif 条件3:条件3满足要执行的代码…els...

2020-02-29 15:49:45 210

原创 039-085变量相关内容介绍

039-0851、程序的注释1)单行注释:以#开头,右边所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用。为了保证代码的可读性,#后面建议先添加一个空格,然后再编写相应的说明文字。2)单行注释也可以加在代码的后面,但是为了保证代码的可读性,注释和代码之间至少有两个空格。3)多行注释(块注释):如果需要编写的注释信息很多,可以使用多行注释,可以用一对连续的三个引号(单引号...

2020-02-28 23:28:33 104

原创 029-038Pycharm的安装和卸载

029-0381、新建项目命名:项目名都以数字编号开始,每个项目下的文件名不能以数字开头,命名文件名时建议只使用小写字母、数字和下划线。2、Pycharm的升级、安装及启动步骤:1)到Pycharm的官网中下载所需版本的安装包2)执行以下终端命令,解压缩下载后的安装包tar -zxvf pycharm-professional-2017.1.3.tar.gz3)将解压缩后的目录移动到...

2020-02-28 14:49:00 257

原创 001-028python的IDE——Pycharm的初步学习

001-028Python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做Python的开发Python程序的文件扩展名通常是.py。1、print函数的作用,可以把 “ ” 内部的内容输出到屏幕上。2、运行python程序时,python 程序源文件,python就是执行python程序解释器命令。python程序中的常见错误:1、手误:函数名字输入出错2、将多条pri...

2020-02-27 22:39:26 235

原创 19-30 vi编辑器介绍3

19-30替换命令,一般在修改幅度很小的情况下使用r:replace,替换当前字符(命令模式下的替换)R:替换当前行光标后的字符(替换模式)提示:1、R命令可以进入替换模式,替换完成后,按Esc可以回到命令模式2、替换模式的作用就是不用进入编辑模式,对文件进行轻量级的修改。缩排和重复执行1、>>:向右增加缩进2、<<:向左减少缩进3、. :重复上次命令...

2020-02-27 00:36:30 143

原创 08-18 vi编辑器介绍2

08-18vi常用命令线路图1、重复次数在命令模式下,先输入一个数字,再跟上一个命令,可以让该命令重复执行指定次数2、移动和选择vi之所以快,关键在于能够快速定位到要编辑的代码行移动命令 能够和 编辑操作 命令组合使用3、编辑操作删除、复制、粘贴、替换、缩排4、撤销和重复5、查找替换6、编辑移动命令1、上下左右h:向左 j:向下 k:向上 l:向右2、行内...

2020-02-26 22:34:25 249

原创 01-07 vi编辑器介绍1

01-

2020-02-26 12:13:06 179

原创 84-100关于进程命令和其他命令的介绍

84-100系统进程信息相关命令1、ps aux,process status 查看进程的详细状况提示:1)单独使用ps时,默认只会显示当前用户通过终端启动的应用程序2)a:显示终端上的所有进程,包括其他用户的进程;u:显示进程的详细状态;x:显示没有在控制终端启用的进行(计算机内部运行的所有进程),所以查询时一般用ps au ,很少需要用到x。2、top,动态显示运行中的进程并且排序...

2020-02-25 21:17:20 216

原创 74-83用户管理相关命令2

74-83usermod命令的使用1、usermod -g 组 用户名,修改用户的主组(passwd 中的GID),一般比较少用到,因为主组在用户新建的时候就已经设置了。2、usermod -G 组 用户名,修改用户的附加组,附加组在etc/group 中最后一列表示该组的用户列表,用于指定用户的附加权限。提示:1)设置了用户的附加组之后需要重新登陆才能生效。2)默认使用useradd...

2020-02-25 11:51:25 107

原创 67-73用户管理相关命令1

67-73组管理的终端命令提示:创建组/删除组 的终端命令都需要通过 sudo 执行(因为标准用户是没有权限进行组管理的)1、sudo groupadd 组名:添加组2、sudo groupdel 组名:删除组3、cat /etc/group :用于查看组信息是否成功添加或者删除/etc 目录是专门用来保存 系统配置信息 的目录组信息保存在 /etc/group 文件中4、sudo...

2020-02-23 23:56:28 97

原创 54-66用户权限相关介绍

54-scp这个终端命令只能在Linux或者Unix系统下使用如果在Windows系统中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输(后者比较方便)使用FileZilla进行文件传输时,使用的是FTP服务,不是SSH服务,因此端口号应设置为21。...

2020-02-23 12:29:01 206

原创 44-53远程管理相关命令

44-53ifconfig命令:查看/配置计算机当前的网卡配置信息ifconfig | grep inet 查看网卡对应的IP地址一台计算机中可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以exsxx表示127.0.0.1被称为本地回环/回环地址,一般用来测试本机网卡是否正常ping ip地址:检测目标IP地址与本机的连接是否正常ping 127.0.0.1:检查...

2020-02-22 23:04:44 142

原创 38-43文件相关命令介绍

38-43grep 内容 文件名:该命令用于查找文件内容。grep -n :显示匹配行及行号grep -v :显示不包括匹配文本的所有行(相当于求反)grep -i :忽略大小写,查找内容是短句时要加双引号grep常用的两种模式查找grep ^a 文件名:搜索行首为a开头的行grep ke$ 文件名:搜索行尾以ke结束的行echo 文件内容:该命令会使终端显示参数指定的文字,通常该...

2020-02-22 13:41:50 117

原创 25-37 各种常用命令介绍

25-

2020-02-21 23:02:16 123

原创 19-24 ls命令的相关拓展

19-24终端使用技巧:1)自动补全:敲出 文件/目录/命令 前几个字母后,按下Tab键,如果没有歧义系统会自动补全,如果存在其他的 文件/目录/命令,再按一次Tab键,系统会提示存在歧义的所有文件/目录/命令。2)曾经使用过的命令:可以按上/下光标键进行切换,如果想要退出选择,按Ctrl+cLinux下文件和目录的特点以 . 开头的文件为隐藏文件,需要用参数 -a 打印才能显示. 代...

2020-02-19 23:57:15 234

原创 14-18常用的Linux命令

14-18Ctrl + shift + = :放大终端窗口的字体显示Ctrl + - :缩小终端窗口字体显示Linux是系统是区分大小写的。常用Linux命令1、ls,list,查看当前文件夹下的内容。2、pwd,print work directory,查看当前所在文件夹。3、cd [目录名],change directory,切换文件夹。4、touch [文件名],tou...

2020-02-18 23:07:41 97

原创 07-13Ubuntu系统目录结构演示体验

07-13虚拟机:是一个软件,通过模拟具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统,是现有的操作系统的全新虚拟镜像。因为要在Windows系统学习Linux操作系统,所以需要安装一个虚拟机。Linux内核版和发行版:Linux内核只有一个,Linux发行版是开发人员在内核的基础上包装了桌面环境、办公套件等应用软件。Linux系统是多用户操作系统,感受了一下与Windows系统目...

2020-02-17 23:37:04 86

原创 Flag:零基础每天自学python一点点

01-06零基础学习python,先给自己打点鸡血(其实是课程老师介绍的励志公式,大家共勉)1.01^365=37.80.99^365=0.03积跬步以至千里,积怠惰以至深渊1.01^3 * 0.99 ^2<1.01三天打鱼,两天晒网,终将一无所获关于操作系统的科普总结1、操作系统的作用:直接跟计算机硬件打交道,主要是一些封装好的系统调用和终端命令等方法,使得程序员在开发软件...

2020-02-16 23:25:10 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除