Python入门学习
AdairWilson
这个作者很懒,什么都没留下…
展开
-
Python入门(二十九)——线程间通信复习(同步条件Event,队列queue)
目录1. 同步条件Event2. 队列queue1. 同步条件Event条件同步和条件变量同步差不多意思,只是少了锁功能,因为条件同步设计于不访问共享资源的条件环境。event=threading.Event():条件环境对象,初始值 为False;event.isSet():返回event的状态值;event.wait():如果 event.isSet()==False将阻塞线程;...原创 2020-03-09 17:51:38 · 249 阅读 · 0 评论 -
Python入门(二十八)——线程“锁”复习(一般锁.Lock()、死锁、递归锁.RLock()、信号量.Semaphore(n)、条件变量同步.Condition())
目录1. 为什么要有锁2. 加入Lock()3. 产生死锁:4. 递归锁RLock解决死锁5. 信号量 .Semaphore6. 条件变量同步.Condition()1. 为什么要有锁先看一个例子:# Author:AD# Date:2020/3/7import threading, timesum = 0 # 以下是对公共变量的修改class MyThread(threadin...原创 2020-03-09 17:42:26 · 269 阅读 · 0 评论 -
Python入门(二十七)——线程深入复习(.tart()、 .join()、.setDaemon(True))
目录1. .tart()方法2. .join()方法3. .setDaemon(True)方法守护线程(守护主线程)1. .tart()方法在threading模块中,start()方法其实跑的就是类中的run()函数,因此会见到有些类直接继承threading之后,编辑run()函数即可实现功能。import threading, timeclass MyThread(threadin...原创 2020-03-09 15:36:32 · 243 阅读 · 0 评论 -
Python入门(二十六)——线程、进程概念复习
目录1. 简介2. 创建线程实例3. Cpython 只能调用单核举例(GIL)3.1 GIL全局解释器锁3.2 解释串行比并发时间快一倍4. 进程1. 简介操作系统能够运算调度的最小单位。基本的执行流程如下:一个.py文件就是一个主线程它交给CPython解释器(Python3.5或2.7)进行解释解释器交给OS进行物力资源调度让程序运行2. 创建线程实例import th...原创 2020-03-09 15:03:27 · 134 阅读 · 0 评论 -
Python入门(二十五)——socketserver模块复习
目录1. socketserver模块简介2. 基本语法3. 运行机制理解:1. socketserver模块简介socketserver是将socket和threading模块封装起来实现并发服务的模块,此节只复习基本的使用方法,以及基于基本的使用方法,并结合类的基本知识理解整个过程时如何运行的。2. 基本语法主要变化是server端,用对象建立了n个服务器# Author:AD# ...原创 2020-03-09 14:04:18 · 187 阅读 · 0 评论 -
Python入门(二十四)——编码(str和bytes之间的转换规则)
编码暂且这样理解:Python中的 str——bytes之间的转换规则# Author:AD# Date:2020/3/5s = 'hello, 赵''''utf8 编码解码演示'''# # 1.两种编码方式按照utf8编码# by_utf8_s1 = bytes(s, 'utf8') # b'hello, \xe8\xb5\xb5'# by_utf8_s2 = s.enco...原创 2020-03-08 21:31:31 · 235 阅读 · 0 评论 -
Python入门(二十三)——网络通信之socket复习
目录1. 网络通信三要素:2. 利用sock模块进行通信流程3. socket下的方法简介4. 循环聊天机制实现5. 实现强制关闭客户端不报错功能6. 客户端输入为空问题解决7. client主动关闭客户端解决方法(基于强制关闭,并加了远程关闭服务器)8. 练习一:远程执行命令9. 练习二: 上传文件1. 网络通信三要素:A:IP地址:(1)用来标识网络上的一台独立主机(2)IP地址 ...原创 2020-03-08 21:25:38 · 301 阅读 · 0 评论 -
Python入门(二十二)——异常处理
目录1. 一般异常处理方式(报错)2. 异常分类:3. 主动触发异常4. 自定义异常类5. 断言asser1. 一般异常处理方式(报错)try: commandexcept Exception as e: pass print(e)上述为标准语法,在执行try里面的代码的时候如果报错会将错误赋给e对象。2. 异常分类:Exception:能捕捉到所有异常IOErro: IO错...原创 2020-03-08 17:16:27 · 173 阅读 · 0 评论 -
Python入门(二十一)——复习面向对象编程进阶知识——单例模式、反射
1. 单例模式类创建对象,也叫类的实例。一个对象可以创建多个实例, 单例模式就是一个类不论谁使用,只能有一个实例。可以使用类方法创建单例模式应用:class MyClass: __obj = None @classmethod def get_instance(cls): if cls.__obj: return cls....原创 2020-03-08 17:04:01 · 266 阅读 · 0 评论 -
Python入门(二十)——复习面向对象编程进阶知识——类特殊成员
目录1. 构造方法(\_\_init\_\_)和析构方法(\_\_del\_\_)2. \_\_call\_\_ 方法:对象加括号调用3. \_\_str\_\_ 方法:str()或print()会调用4. 加减乘除(用__add __举例)5. 字典方法(__dict __)6. 列表方法 [ ](__getitem __、__setitem __、__delitem __)7. 列表切片[a:...原创 2020-03-08 15:53:50 · 156 阅读 · 0 评论 -
Python入门(十九)——复习面向对象编程进阶知识——成员(字段、方法、属性)、成员修饰符(公有、私有)
目录1. 字段2. 方法3. 属性3.1 属性的建立方式1——@property装饰3.2 属性的建立方式2——property构造方法4. 成员修饰符4.1 私有字段4.2 私有方法类成员包括字段:普通字段(有self,属于对象)、静态字段(无self,属于类)方法:普通方法(无装饰,形参必须包含self)、静态方法(@staticmethod装饰,不需要self形参)、类方法(@cla...原创 2020-03-08 14:34:12 · 192 阅读 · 0 评论 -
Python入门(十八)——复习面向对象编程基本知识和三大特性
目录1.面向对象的理解2.建立类3. 面向对象的三大特性3.1 特性一:封装构造方法:\_\_init\_\_(self)3.2 特性二:继承3.2.1 基本格式3.2.2 继承的特点3.2.3 多继承3.3 特性三:多态4 总结:5 类和对象在内存中是如何保存1.面向对象的理解在学习编程的过程中经历以下阶段:面向过程——函数式编程——面向对象编程随着观念的转变,编程的思想越来越抽象化,唯...原创 2020-03-08 13:45:25 · 137 阅读 · 0 评论 -
Python入门(十七)——json pickle 复习
目录1 json模块2 .dump() .load()方法:方便3 pickle模块1 json模块序列化:把对象从内存中变为可存储或可执行的内容的过程叫做序列化先回顾eval()用法:'''回顾eval'''dic = {'name': 'zhao', 'age': 27}lst = [1, 2, 'zhao']# # 字典-字符转换s_dic = str(dic...原创 2020-03-02 13:35:11 · 120 阅读 · 0 评论 -
Python入门(十六)——模块、包复习
目录1 模块1.2 模块调用方式 import ...1.3 模块的调用方式二 from...import...1.4 把模块所有内容调用 from...import *1.5 改名2 包:组织模块2.1 调用同一级包中的模块2.2 示例说明如何进行包间调用模块3. 正确的适用于任何系统的包间调用方式4 模块内部测试入口规范5 目录组织结构规范:便于维护5.1 关于README的内容5.2 关于r...原创 2020-03-02 12:54:08 · 163 阅读 · 0 评论 -
Python入门(十五)——正则表达式(RE)复习
目录1 用处2 格式3 元字符 . 通配符(可代表\n外所有)4 元字符 ^ 尖角符(从开头匹配,取反)5 元字符 $ (从结尾匹配)6 元字符 * 重复匹配符[0, +∞)都可 只重复其前面的7 元字符 + 重复匹配符[1, +∞)都可 只重复其前面的8 元字符 ? 重复匹配符[0,1] 都可 只重复其前面的(其他重复匹配符后面加?实现惰性匹配)9 元字符 {} 重复匹配符,重复次数由内部...原创 2020-03-01 22:28:17 · 125 阅读 · 0 评论 -
Python入门(十四)——重要模块复习(logging、logger、configparser)
目录1 logging 日志模块1.1 日志级别1.2 默认配置设置2 logger对象,可实现同步输出3 configparser 配置文件模块1 logging 日志模块1.1 日志级别DEBUG——INFO——WARNING——ERROR——CRITICAL逐级升高其中默认只从WARNING级别进行输出1.2 默认配置设置加file的话一定会输入到文件中,不加在终端输出,不能两...原创 2020-03-01 21:32:47 · 252 阅读 · 0 评论 -
Python入门(十三)——重要模块复习(time、random、os、sys、hashlib)
目录1 time 模块2 random 随机3 os模块4 sys模块5 hashlib 加密模块1 time 模块常用时间种类时间戳结构时间字符串时间import time'''时间戳'''#当前时间(从1970-1-1 00:00:00)s = time.time()print(s) # 1583031457.492758print(type(s)) #<cl...原创 2020-03-01 12:19:43 · 200 阅读 · 0 评论 -
Python入门(十二)——生成器
目录1 创建生成器1.1 列表生成式1.2 用小括号()生成生成器1.3 yield创建生成器函数1.4 理解两次调用生成器函数2 .send() 方法理解和应用3 生成器函数实现协程应用需要明确,生成器是迭代器,具备可迭代功能,但是反之不成立。1 创建生成器1.1 列表生成式可以用[ ] 里面加入表达式和函数的形式生成一个列表a = [x for x in range(9)]prin...原创 2020-02-29 20:46:56 · 150 阅读 · 0 评论 -
Python入门(十一)——迭代器
目录1 迭代器简介2 迭代器判断标准3 iter() 方法4. for i in (iterable)的内部实现1 迭代器简介需要明白几个概念容器(container):一种把多个元素组织在一起的数据结构,可迭代,可用 in, not in进行判断。可迭代是因为它是可迭代对象,并不是容器本身的特性。可迭代对象(iterable):可迭代对象描述的是对象的一种状态为可迭代 iteratio...原创 2020-02-29 19:25:30 · 178 阅读 · 0 评论 -
Python入门(十)——装饰器
目录1 装饰器1.1 闭包1.2 基本装饰器1.3 带参数的被装饰函数1.3.1 形参保持一致案例1.3.2 返回值保持一致案例1.4 装饰函数加参数1.5 多层装饰器2 装饰器应用之登陆1 装饰器理解装饰器需要理解:作用域、高阶函数、闭包1.1 闭包定义:内部函数对外部函数的环境进行引用,内部函数叫做闭包(closer)。一般应用的时候外部函数的返回值为内部函数名。闭包可以保存函数的...原创 2020-02-29 18:29:25 · 161 阅读 · 0 评论 -
Python入门(九)——深浅拷贝、set (集合)、函数、递归函数、常用内置函数
目录1 深浅拷贝1 深浅拷贝若执行a = [[1, 2], 3, 4]则得到下面的代码原创 2020-02-29 16:16:15 · 227 阅读 · 0 评论 -
Python入门(八)——计算器作业:初级版,正则表达式(RE)初级应用
终于调了半天bug完成一版,但是与win10自带的计算器有差值,明天在搞# Author:AD# Date:2020/2/27'''开发一个简单的python计算器实现加减乘除及拓号优先级解析用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )...原创 2020-02-27 21:50:23 · 178 阅读 · 0 评论 -
自动化翻译脚本(墙外使用某个免费翻译网站)
目录1. 环境搭建1.1 Python31. 环境搭建1.1 Python3下载Python3.6进行默认安装即可,后续需要配置环境变量[Python下载链接](付按揭俺原创 2020-02-25 16:06:12 · 1577 阅读 · 0 评论 -
Python入门(七)——文件操作作业:多级菜单高级版,可以修改字典
with open('三级菜单', 'r', encoding='utf-8') as f_read: date = f_read.read()#print(date.replace(' ', '').replace('\n', ''))#print(type(date))menu = eval(date)current_layer = menuparent_layer = ...原创 2020-02-22 15:22:37 · 302 阅读 · 0 评论 -
Python入门(六)——文件操作(a+ w+ r+ 光标位置 读写相互独立)
目录1. open()2、文件操作方式:r、w、a、r+、w+、a+2.1 r 读模式,不可写2.2 w 写模式,执行打开命令清空文件,不可读2.3 a 追加模式,不清空文件,文档末尾追加,可写不可读2.4 w+ 写读,光标规则恶心2.5 r+ 读写,光标又比较佛系哦2.6 a+ 追加读模式,最有意思的光标操作3. 文件的具体操作3.1 .read()3.2 .readline()3.3 .rea...原创 2020-02-22 15:15:46 · 524 阅读 · 0 评论 -
Python入门(五)——字符串操作
目录1.字符串1.1 乘法1.2 切片1.3 格式化 %1.4 格式化 .format() .format_map()1.5 判断元素是否在内1.6 拼接 + 和 .join()1.7 编码解码1.8 字母大小写操作1.9 内容格式操作1.10 数字、字母、开头结尾、非法字符判断1.11 统计、查找、替换、分隔、拼接1.字符串可将字符串对象和列表对象进行类比:切片、复制、更改等1....原创 2020-02-21 16:26:36 · 131 阅读 · 0 评论 -
Python入门(四)——(字典、id)
目录1. 字典(无序,唯一的映射类型)1.1 增 .setdefault()1.2 删1.3 改1.4 查1.5 .fromkeys() 操作创建2. id() 查看变量地址1. 字典(无序,唯一的映射类型)采取键值对存储(key-value)哈希函数运算key必须不可变(整型,字符串,元组)字典采取以键值对为标准进行存储键是唯一的1.1 增 .setdefault()若有该键...原创 2020-02-21 14:07:59 · 781 阅读 · 0 评论 -
Python入门(三)——(基本运算符、逻辑运算符(与C++不同)、循环语句、print函数、三引号可打印多行、格式化输出、数据类型初识、列表和元组(与C++不同)、enumerate、赋值新解读)
目录1.基本运算符2.逻辑运算符(与C++不同)3.循环语句3.1 for...else3.2 while...else4. print函数5. 三引号可打印多行6. 格式化输出7.数据类型初识7.1 数字7.2 布尔值7.3 字符串8.列表和元组(与C++在本质不同)8.1 列表[List ]8.2 元组(tuple ):只读列表,不可修改9. enumerate给列表或元组前面加编号10. 赋...原创 2020-02-21 12:51:47 · 259 阅读 · 0 评论 -
Python入门(二)——(变量命名、注释、交互、类型转换、字符串拼接、条件语句、缩进)
目录1.变量命名规则2.Python注释3.用户交互4.强制类型转换5.字符串拼接1.变量命名规则具有描述性,最好英文好一些不可以用特殊字符、空格和数字开头不能用中文保留字符勿用不能以大写字母开头(全大写留给逻辑 常量)驼峰命名法了解一下2.Python注释#注释一行‘’‘三个单引号之间注释多行“”"当内部有单引号占用的时候可以用三个双引号3.用户交互name =...原创 2020-02-20 21:06:39 · 342 阅读 · 0 评论 -
Python入门学习——零散知识积累(内部机制、)
目录1、内部机制1.1 内存回收机制1.2 字典存储机制1、内部机制1.1 内存回收机制自动内存回收(与C++不同)Python在命令变量的时候,内存为值分配内存,但是变量知识指向这个值。当变量重新赋值(指向改变)的时候,原先存储值得内存还未立即消失,Python内部机制会在某一刻清掉内存。或者执行del命令删掉变量指向的内存1.2 字典存储机制在做多级菜单的时候发现:在父级列表...原创 2020-02-20 17:54:13 · 113 阅读 · 0 评论 -
Python入门(一)——变量 编码等基础
一:编码简介1、ASCII编码中的字符每一个占用8bits,一个字节2、中文起初是使用ASCII码中的扩展位实现编码的,与中文扩展表实现一一对应的关系以此为基础的编码有:GB2312 1980年 6763字 682字符GBK1.0 1995年 21003字GB18030 2000年 27484字(包括藏文等少数民族语言)中国要求PC系统必须支持GB18030,嵌入式硬件...原创 2020-02-10 19:45:10 · 208 阅读 · 0 评论