![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python基础
python基础
Juneellen
这个作者很懒,什么都没留下…
展开
-
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 · 145 阅读 · 0 评论 -
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 · 175 阅读 · 0 评论 -
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 · 153 阅读 · 0 评论 -
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 · 169 阅读 · 0 评论 -
2.3.1迭代器的介绍
1、迭代器:迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。2、可迭代对象:对list、tuple、str等类型的数据使用for…in…的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。list、tuple、str等类型的数据被称为是可迭代对象。3、如何判断一个对象是否可以迭代可以使用 i...原创 2020-05-07 12:01:58 · 166 阅读 · 0 评论 -
2.2.1-2.2.5多任务进程及进程池介绍
2.2.5原创 2020-05-02 21:52:38 · 154 阅读 · 0 评论 -
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 · 152 阅读 · 0 评论 -
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 · 124 阅读 · 0 评论 -
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 · 83 阅读 · 0 评论 -
游戏项目学习
pygame安装命令sudo pip3 install pygame验证是否安装成功python3 -m pygame.examlpes.aliens原创 2020-03-28 14:17:56 · 211 阅读 · 0 评论 -
072-100面向对象的介绍4
072-1001、模块:每一个以扩张名.py结尾的Python源代码文件都是一个模块,模块名同样也是一个标识符,需要符合标识符的命名规则,在模块中定义的全局变量、函数、类都是提供给外借直接使用的工具。模块就好比工具包,需要使用这个工具包中的工具,就需要先导入这个模块。import 模块名1import 模块名2导入之后,通过模块名. 使用模块提供的工具——全局变量、函数、类。使用as指...原创 2020-03-15 22:27:27 · 136 阅读 · 0 评论 -
052-071面向对象的介绍3
052-071类方法:就是针对类对象定义的方法,在类方法内部可以直接访问类属性 或者调用其他的类方法,语法如下:@classmethoddef 类方法名(cls):通过类名. 调用类方法,不需要传递cls参数,这个参数和实例方法的第一个参数self类似,在类方法内部,可以通过cls. 访问类的属性,也可以通过cls. 调用其他的类方法。静态方法:如果在类中封装的方法,该方法既不需要访问实...原创 2020-03-15 00:06:00 · 127 阅读 · 0 评论 -
018-051面向对象的介绍2
018-051内置方法和属性1)__del__方法:对象从内存中被销毁前,会被自动调用。2)__str__方法:返回对象的描述信息,print函数输出使用。被使用的类应该先开发,多个对象属性之间互不干扰一个对象的属性可以是另外一个类创建的对象定义没有初始值的属性:在定义属性时,如果不知道设置什么初始值,可以设置为None。None关键字表示什么都没有,表示一个空对象,没有方法和属性,是...原创 2020-03-14 18:36:18 · 118 阅读 · 0 评论 -
001-017面向对象的介绍1
001-0171、类和对象:是面向对象编程的两个核心概念1.1、类:是对一群具有相同特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用特征 被称为 属性行为 被称为 方法1.2、对象: 是由类创建出来的一个具体存在,可以直接使用由哪一个类创建出来的对象,就拥有在哪一个类中定义的:属性和方法在程序开发中,应该先有类,再有对象。在程序开发中,要设计一个类,通常需要满足以下三个要...原创 2020-03-08 21:02:44 · 111 阅读 · 0 评论 -
232-259局部变量、全局变量、缺省参数和递归的介绍
232-2591、局部变量和全局变量局部变量是在函数内部定义的变量,只能在函数内部使用全局变量是在函数外部定义的变量(没有定义在某个函数内),所有函数内部都可以使用这个变量在函数内部 ,可以通过全局变量的引用获取对应的数据但是,不允许直接修改全局变量的引用——使用赋值语句修改全局变量的值(这样相当于在函数内部重新定义一个局部变量)如果在函数中要修改全局变量,需要使用global进行声明...原创 2020-03-08 18:00:24 · 439 阅读 · 0 评论 -
211-231变量引用、可变和不可变类型数据介绍
211-231Linux上的Shebang符号(#!)Shebang 通常在Unix系统脚本中 第一行开头使用,用来指明执行这个脚本文件的解释程序使用Shebang的步骤:1)使用which查询python3解释器所在路径which python32)修改要运行的 主python文件,在第一行增加一下内容#!/usr/bin/python33)修改主python文件的文件权限,增加...原创 2020-03-08 00:16:51 · 238 阅读 · 0 评论 -
196-210容器类型公共方法
196-容器类型公共方法in 在对字典操作时,判断的是字典的键in 和 not in 被称为成员运算符完整的for循环语法:for 变量 in 集合:循环体代码else:没有通过break退出循环,循环结束后,会执行的代码在开发程序时,不希望立刻编写分支内部的代码,可以使用pass关键字,表示一个占位符,能够保证程序的代码结构正确。...原创 2020-03-01 23:19:57 · 145 阅读 · 0 评论 -
158-196非数据型数据列表、元组、字典和字符串的介绍
158-196在Python中,所有非数字型变量 都支持以下特点:1、都是一个序列,也可以理解为容器2、取值 []3、遍历 for in4、计算长度、最大/最小值、比较、删除5、链接和重复6、切片1、列表(List)是Python中使用最频繁的数据类型,专门用于储存一串信息,列表用 [] 定义,数据之间使用 , 分割,列表的索引(也就是数据的下标)从0开始。name_list =...原创 2020-03-01 16:30:12 · 361 阅读 · 0 评论 -
133-157函数相关内容介绍
133-157函数就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用,使用函数可以提高编写的效率以及代码的重用。函数的使用包含两个步骤:1)定义函数——封装 独立的功能2)调用函数——享受封装的成果定义函数的格式如下:def 函数名():函数封装的代码提示:函数名 应该能够表达函数封装代码的功能,方便后续的调用;函数的命名应该符合标识符的命名规则:1)由字母、数字和下划线...原创 2020-03-01 00:03:25 · 144 阅读 · 0 评论 -
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 · 199 阅读 · 0 评论 -
039-085变量相关内容介绍
039-0851、程序的注释1)单行注释:以#开头,右边所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用。为了保证代码的可读性,#后面建议先添加一个空格,然后再编写相应的说明文字。2)单行注释也可以加在代码的后面,但是为了保证代码的可读性,注释和代码之间至少有两个空格。3)多行注释(块注释):如果需要编写的注释信息很多,可以使用多行注释,可以用一对连续的三个引号(单引号...原创 2020-02-28 23:28:33 · 93 阅读 · 0 评论 -
029-038Pycharm的安装和卸载
029-0381、新建项目命名:项目名都以数字编号开始,每个项目下的文件名不能以数字开头,命名文件名时建议只使用小写字母、数字和下划线。2、Pycharm的升级、安装及启动步骤:1)到Pycharm的官网中下载所需版本的安装包2)执行以下终端命令,解压缩下载后的安装包tar -zxvf pycharm-professional-2017.1.3.tar.gz3)将解压缩后的目录移动到...原创 2020-02-28 14:49:00 · 238 阅读 · 0 评论 -
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 · 217 阅读 · 0 评论