自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python开发虚拟环境搭建

目录文章目录目录前言一、windows搭建1.安装2.配置虚拟环境管理器工作目录二、MacOS、Linux搭建1.安装2.工作文件3.配置三、使用四、Pycharm使用前言优点:1、使不同应用开发环境相互独立2、环境升级不影响其他应用,也不会影响全局的python环境3、防止出现包管理混乱及包版本冲突一、windows搭建1.安装# 建议使用pip3安装到python3环境下pip3 install virtualenvpip3 install virtualenvwrappe

2021-02-24 21:12:11 183

原创 redis

redis目录文章目录redis目录一、redis是什么?二、安装与操作1.安装2.读入数据总结一、redis是什么?Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redi

2021-02-24 21:00:48 203

原创 git工具使用

git工具使用文章目录git工具使用一、git是什么?二、使用步骤1.核心总结2.安装3.初始化4.设置用户5.查看仓库状态6.查看仓库状态7.工作区操作9.工作区内容提交到暂存区10.撤销暂存区提交:add的逆运算(很少使用)11.暂存区提交到版本库12.撤销版本库提交:commit的逆运算三、多分支开发1.分支操作总结一、git是什么?git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。版本控制器可以帮助开发人员协同开发项目,帮助程序员整合代码i)帮助开

2021-01-11 20:13:37 181

原创 Vue简单入门应用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Vue目录一、Vue是什么?二、基础内容1.ES62.ES6基本语法3.ES5和ES6函数对比4.ES5和ES6对象封装函数对比4.ES5和ES6类写法对比三、简单使用1.安装使用2.简单语法3.vm对象取值四、指令系统1.文本操作(v-text,v-html)2.条件渲染(v-if,v-show)3.属性绑定v-bind与事件绑定v-on4.Vue数据属性写法5.v-model双向数据绑定与methods属性6.v-for遍历及vm过滤器

2020-12-02 14:57:36 472

原创 正则表达式(多字符匹配)

1.量词符号(默认贪婪模式)'''1) ? 匹配0个或者1个a '''print(re.findall('a?b', 'abbzab abb aab')) # ab b ab ab b ab'''2) + 匹配1个或者多个a '''print(re.findall('a+b', 'b ab aaaaaab abb')) # ab aaaaaab ab'''3) * 匹配0个或者多个a '''print(re.findall('a*b', 'b ab aaaaaab abbbbbbb'))

2020-08-18 19:16:47 1124

原创 正则表达式(单字符匹配)

1.单个字符匹配1.1预定义字符集\d 匹配数字import relst=re.findall('\d','45d5a65s')\D 匹配非数字import relst=re.findall('\D','asv#$!231')\w 匹配字母或数字或下划线import relst=re.findall('\w','avsgs__263726#@$#')\W 匹配非字母,非下划线,非数字import relst=re.findall('\D','xvasgsa#$#@$23')

2020-08-18 19:10:51 805

原创 udp协议通讯

1.服务端# 创建一个udp协议对象import socketsk = socket.socket(type=socket.SOCK_DGRAM)# 在网络上注册信息(绑定ip及端口)sk.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)sk.bind(('192.168.11.217', 9008))# 收发消息while True: msg, cli_addr = sk.recvfrom(1024) print(msg.dec

2020-08-18 18:46:12 87

原创 tcp协议套接字通讯(循环通讯,粘包,并发通讯)

1.tcp协议循环收发消息1.1服务端# tcp服务端# 1.创建一个socket对象import socketsk = socket.socket()# 让当前的端口重复绑定多个程序(仅仅在测试阶段使用)sk.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)# 2.在网络中注册主机(绑定ip和端口)sk.bind(("192.168.11.217", 9008))# 3.监听端口sk.listen()# 4.三次握手# c

2020-08-18 18:43:36 288

原创 实现单例模式的三种方式

1.使用类的绑定方法实现单例模式class MySQL(): __instance = None def __init__(self, ip, port): self.info = (ip, port) @classmethod def singleton(cls): if cls.__instance is None: cls.__instance = object.__new__(cls) cls.__instance.__init__('200', 9090) re

2020-08-18 17:31:16 147

原创 元类

1.元类:类实例化得到对象,元类实例化得到类,类也可以看作对象,默认使用关键字class定义的类的元类为type推论:可见class关键字在创建类时底层代码逻辑调用了type元类2.模拟class关键字底层代码逻辑实现非class关键字定义类# 1.定义类名class_name = 'MyClass'# 2.定义继承的父类class_bases = (object, )# 3.类的成员属性和方法class_dic = {}class_body = '''"""这是我定义的元类"""

2020-08-18 17:28:47 84

原创 python zip和tarfile压缩模块

1.zipimport zipfile# 1.压缩文件# (1) 创建压缩包 619zf = zipfile.ZipFile("ceshi0512.zip","w",zipfile.ZIP_DEFLATED)# (2) 把文件写入到压缩包当中# write(路径,别名)zf.write(r"D:\Python课程\day17\ceshi100\1.txt","1.txt")zf.write(r"D:\Python课程\day17\ceshi100\2.txt","2.txt")# 可以

2020-05-22 00:50:06 179

原创 python 计算文件夹大小

1.获取文件夹的文件import ospathvar=r'D:\pycharm project\day17'lst=os.listdir(pathvar)print(lst)2.计算文件的大小(不包含子文件夹大小)size=0for i in lst: pathnew=os.path.join(pathvar,i) if os.path.isfile(pathnew): size+=os.path.getsize(pathnew) elif os.path.isdir(pathne

2020-05-22 00:47:23 650

原创 python time模块sleep之进度条应用

1.sleep 程序等待唤醒import timetime.sleep(3)print('测试101')2.进度条小应用###让进度条动起来str=''for i in range(50): time.sleep(0.1) str+='#' print('\r[%-50s]'%(str),end='')###根据文件的大小调整进度条的位置def func(a): if a>1: a=1 str=int(50*a)*'#' print('\r[%-50s]%d%%'%

2020-05-20 00:21:01 832

原创 python 序列化模块pickle及json

1.pickle序列化:把不能够直接存储在文件中的数据类型变得可存储反序列化:把文件中的数据拿出来再变回原来的数据phpserializeunserialize文件的存储数据要么是字符串,要么是二进制字节流python中所有数据类型都可以通过dump序列化和load反序列化###dumps和loadsimport pickle##序列化列表lst=[1,2,3,4,5]res=pickle.dumps(lst)print(res,type(res))print(pickle.lo

2020-05-20 00:18:52 177

原创 python 内置方法

1.abs 绝对值函数res=abs(-16)print(res)对比math模块的fabs返回floatimport mathres=math.fabs(-16)print(res)2.round四舍五入(n.5 n为奇数进一,n为偶数舍去)奇进偶不进val=3.5res=round(val)print(res)val=4.5res=round(val)print(res)3.sum 计算序列的和lst=[1,2,3,4,5]res=sum(lst)print(

2020-05-20 00:12:04 138

原创 python 高阶函数(map filter reduce sorted)

1.高阶函数能够把函数当成参数传递的就是高阶函数 map fillter reduce sorted2.mapmap(func.iterable)功能:把iterable里面的数据一个一个拿出来,放到func函数中进行处理,把处理的结果放到迭代器中,返回迭代器参数:func 自定义函数 或者 内置函数iterable 可迭代对象(容器类型数据 range 迭代器)返回值:迭代器(1)代码示例:#['1','2','3','4']==>[1,2,3,4]#常规lst=['1',

2020-05-14 23:09:05 147

原创 python Iterator迭代器

1.迭代器能被next调用,并不断返回下一个值的对象,叫做迭代器(迭代对象)概念:迭代器指可以迭代取值的工具,迭代是一个重复的过程,每一次迭代是根据上一次迭代的值继续特征:不依赖索引,使用next指针迭代所有数据,一次迭代一个值,可以节省空间,迭代无限的数据(1)可迭代对象判断可迭代对象的方法:1)使用dir可以查看对象的所有成员,成员中包含’‘iter’'可判断为可迭代对象2)调用Iterable判断可迭代对象##方法一 通过dir函数获取成员判定lst=[1,2,3,4,5]for

2020-05-14 22:56:47 120

原创 python day 11 blog (nonlocal与闭包,匿名函数及三目运算符)

1.locals() 和 global() 函数在函数外部进行调用locals()和globals()函数时:获取的是打印之前的所有变量,返回字典,全局作用域在函数内部进行调用locals()和globals()函数时:对于locals()获取的调用前当前作用域的所有变量,返回字典,局部作用域对于globals()获取的调用前的所有变量,全局作用域#locals() 获取当前作用域的所有变量#在函数外a=6c=5res=locals()d=99print(res) #获取的是打印前的

2020-05-13 23:58:39 322

原创 python day 10 blog(函数参数及作用域变量)

1.默认形参和关键字实参的区分def eat_today(a='牛奶',b='鸡蛋',c='青菜'): #默认形参在函数定义处 print('上午吃什么:吃{shangwu}'.format(shangwu=a)) print('中午吃什么:吃{zhongwu}'.format(zhongwu=b)) print('下午吃什么:吃{xiawu}'.format(xiawu=c))eat_today()#关键字实参在函数的调用处eat_today(a='鸡蛋',b='牛排',c='火锅')

2020-05-12 21:42:36 136

原创 python day 9 blog(文件操作与函数)

1.utf-8 :存储一个汉字使用3个字节(国际通用),一个英文和标点占1个字节read() 读取字符的个数(里面的参数表示字符的个数)seek(0) 把光标移动到字符串开头(括号里的参数表示字节的个数)seek(0,2)把光标移动到字符串的末尾seek(x) 把光标移动x个字节tell() 当前光标左侧所有的字节数 (括号里的参数表示字节数)2.3. write 写入模式文件不存在则创建文件,存在的话则打开清空内容,并且将文件指针放在文件的开头r read 读取模式文件不

2020-05-12 00:09:13 144

原创 python day 8 blog(数据类型及文件相关操作)

1.列表的相关函数append() 在列表末尾添加元素insert:指定索引之前插入元素extend() 迭代添加元素pop 指定索引删除元素,若无索引默认删除最后一个(推荐使用)remove 指定值删除,若有多个相同元素,默认删除第一个清空clearindex 获取某个元素在列表中的索引sort 列表排序(默认从小到大)从大到小排序lst.sort(reverse=True)2.tuper 元组的函数只有两个 count index3.浅拷贝 只拷贝第一级元素方法一 只适用于列表

2020-05-11 01:54:19 121

原创 python day 6 blog(流程控制)

1,pass过(代码块中无代码可写时,用pass占位)2.break终止当前循环,只能应用在循环里3.continue跳过当前循环,从下一次开始,只能应用在循环里4.for …in 循环遍历 ,循环,迭代,从容器中把元素一个一个获取出来针对无序容器while无法获取,for … in可以语法 for 变量 in 可迭代对象:# code可迭代对象(容器,range(),迭...

2020-05-07 00:51:58 181

原创 流程控制

判断类型 isinstance语法:用法1:isinstance(要判断的值,类型)返回bool值用法2:isinstance(要判断的值,(类型1,类型2,类型3))有一类型满足则返回真,否则返回假2.代码块:以冒号开始,用缩进来划分区域作用域:作用的范围3.流程控制的三大结构1)顺序结构:自上而下执行代码2)分支结构:单项分支,双项分支,多项分支,巢项分支3)循环结构:fo...

2020-05-06 01:52:32 145

原创 运算符

1.赋值运算符 += -= *= /= //= **=运算过后将结果返回至左边的值2.成员运算符 in 及 not in返回bool值 (针对容器类型)3.身份运算符 is 及 not is检测两个数据在内存中是否是同一个值int 整型 -5到正无穷地址一致float 浮点数 非负数则id地址一致bool 布尔型 值一样则id地址一致complex 只有虚数一致则id一致4.#...

2020-05-05 02:05:46 149

原创 数据类型与转换

1.set 集合特点:无序,自动去重,不可修改(无序导致无法定位修改的数据)定义语法:setvar = {“啊实打实”,“大大大”,“打算的撒”,“大叔大婶多”}2.dict 字典特点:无序,可获取(通过定位键修改对应的值)定义语法: dictvar = {键1:值1 , 键2:值2, 键3:值3 … }3.字典的键 和 集合的值的数据类型要求必须为不可变数据(可哈希的数据类型),即...

2020-05-04 00:20:04 192

原创 变量与数据类型

1.变量定义:可以改变的量称为变量,实际代表内存的一块空间命名规则:(1)包含数字字母下划线,且首字符不能位数字(2)严格区分大小写,且不能使用关键字(可使用import keyword print(keyword.kwlist)查询)(3)命名变量有意义,且不能使用中文命名变量的交换方法python特有:a,b=b,a通用:a=1 b=2 c=a a=b b=c常量定义约定俗成...

2020-04-30 01:23:58 270

原创 进制变换

**part one计算机的基础知识,即CPU,内存,硬盘即操作系统的含义与关系;part two计算机的二进制0b,八进制0o,十进制以及十六进制0x的含义以及换算规则,换算技巧part three原码,反码,补码的含义与关系.正数的原码=反码=补码如0000…0110负数的补码等于它的原码取反码加1如1000…010的补码为1111…110part fourpython的...

2020-04-28 21:51:41 101

空空如也

空空如也

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

TA关注的人

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