
python
文章平均质量分 72
python学习
测开小菜鸟
誓做测开大佬!有任何问题可添加本人wx:632966840(添加请备注来源和意图)
展开
-
使用re提取jsonp中的数据
使用re提取jsonp中的数据原创 2023-04-04 17:50:24 · 274 阅读 · 0 评论 -
Redis搭建主从和集群
Redis搭建主从和集群搭建主从配置主配置从数据操作搭建集群为什么要有集群集群的概念redis集群搭建集群配置机器1配置机器2创建集群数据验证在哪个服务器上写数据:CRC16Python交互搭建主从⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1通过主从配置可以实现读写分离master和slave都是一个redis实例(redis服务)配置原创 2022-03-03 13:38:16 · 964 阅读 · 0 评论 -
Redis数据操作
Redis数据操作数据结构string类型保存获取删除键命令hash类型增加、修改获取删除可能出现的错误list类型增加获取设置指定索引位置的元素值删除set类型增加获取删除zset类型增加获取删除数据结构redis是key-value的数据结构,每条数据都是⼀个键值对键的类型是字符串注意:键不能重复值的类型分为五种:字符串string哈希hash列表list集合set有序集合zsetstring类型字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis原创 2022-03-02 16:18:38 · 655 阅读 · 0 评论 -
Redis简介
Redis简介redis简介nosql介绍NoSQL和SQL数据库的比较:Redis简介Redis特性Redis 优势Redis应用场景配置核心配置选项服务端和客户端命令服务器端客户端redis简介nosql介绍NoSQL:一类新出现的数据库(not only sql)泛指非关系型的数据库不支持SQL语法存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景N原创 2022-03-02 15:41:08 · 119 阅读 · 0 评论 -
正则表达式
正则表达式re模块re模块的介绍re模块的使用匹配单个字符示例1: .示例2:[]示例3:\d示例4:\D示例5:\s示例6:\S示例7:\w示例8:\W匹配多个字符示例1:*示例2:+示例3:?示例4:{m}、{m,n}匹配开头和结尾示例1:^示例2:$示例3:^ 和 $除了指定字符以外都匹配匹配分组示例1:|示例2:( )示例3:\num示例4:`(?P) (?P=name)`在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、图片地址、手机号码等,这时候想匹配或者查找符合某些规原创 2022-02-28 22:15:38 · 126 阅读 · 0 评论 -
深拷贝和浅拷贝
深拷贝和浅拷贝浅拷贝不可变类型的浅拷贝可变类型的浅拷贝深拷贝不可变类型的深拷贝可变类型的深拷贝浅拷贝和深拷贝的区别浅拷贝copy函数是浅拷贝,只对可变类型的第一层对象进行拷贝,对拷贝的对象开辟新的内存空间进行存储,不会拷贝对象内部的子对象。不可变类型的浅拷贝import copy # 使用浅拷贝需要导入copy模块# 不可变类型有: 数字、字符串、元组a1 = 123123b1 = copy.copy(a1) # 使用copy模块里的copy()函数就是浅拷贝了# 查看内存地址p原创 2022-02-28 21:47:16 · 127 阅读 · 0 评论 -
with语句和上下文管理器
with语句和上下文管理器with语句的使用上下文管理器上下文管理器的另外一种实现方式with语句的使用向文件中写入数据的示例代码: # 1、以写的方式打开文件 f = open("1.txt", "w") # 2、写入文件内容 f.write("hello world") # 3、关闭文件 f.close()代码说明:文件使用完后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的这种写法可能出现一定的安全隐患,如果上面的文件打开方式为只读,原创 2022-01-21 18:44:57 · 146 阅读 · 0 评论 -
property属性
property属性property属性的介绍装饰器方式类属性方式property属性的介绍property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用。定义property属性有两种方式:装饰器方式类属性方式装饰器方式class Person(object): def __init__(self): # 私有属性 self.__age = 0 # 装饰器方式的property, 把age方法当做属性使用, 表示当获取属性时原创 2022-01-21 15:45:32 · 5471 阅读 · 0 评论 -
PyMySQL
PyMySQLpymysql完成数据的查询操作pymysql完成对数据的增删改防止SQL注入什么是SQL注入如何防止SQL注入pymysql完成数据的查询操作import pymysql# 创建连接对象conn = pymysql.connect(host='localhost', port=3306, user='root', password='mysql', database='python', cha原创 2022-01-13 16:22:25 · 127 阅读 · 0 评论 -
python-协程
协程从生成器到协程简单的生成器通过生成器实现协程协程的演变生成器原理函数是如何执行的生成器是如何执行的使用生成器实现多任务gevent实现异步协程核心思想asyncio实现异步从生成器到协程从Python2到Python3,协程经历了翻天覆地的变化。简单的生成器https://www.python.org/dev/peps/pep-0255/Python2.3中,加入了新的关键字yield在PEP255中,引入了yield表达式规定yield语句只能在函数中使用。包含yield语句的函数被称原创 2021-01-12 16:07:46 · 352 阅读 · 0 评论 -
进程和线程的对比
进程和线程的对比一、关系对比二、区别对比三、优缺点对比一、关系对比线程是依附在进程里面的,没有进程就没有线程。一个进程默认提供一条线程,进程可以创建多个线程。二、区别对比进程之间不共享全局变量线程之间共享全局变量,但是要注意资源竞争的问题,解决办法: 互斥锁或者线程同步创建进程的资源开销要比创建线程的资源开销要大进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位线程不能够独立执行,必须依存在进程中多进程开发比单进程多线程开发稳定性要强三、优缺点对比进程优缺点:原创 2022-01-09 14:50:08 · 242 阅读 · 0 评论 -
python-多线程
多线程线程和进程的关系基本的多线程多线程共享全局变量线程锁自定义线程类线程池第三方线程池(threadpool)GIL锁(全局解释器锁)多线程使用场景线程和进程的关系一个线程只能属于一个进程,而一个进程可以有多个线程。进程拥有资源,线程不拥有资源,线程共享进程的资源。处理机分给线程,即真正在处理机上运行的是线程。线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体。同属于一个进程中的线程可以共享C原创 2021-01-06 21:45:43 · 421 阅读 · 0 评论 -
python-多进程
多进程冯诺依曼体系单进程多进程主进程和子进程daemon进程守护join阻塞进程:daemon和join区别进程的全局变量使用队列共享数据冯诺依曼体系单进程在Python中,执行一个Python脚本,就会创建一个进程。可以用os.getpid()获得进程的PID多进程import osimport timefrom multiprocessing import Process # 导入多进程的包def cloudmusic(): # 模拟网易云音乐的进程 for i in r原创 2021-01-05 19:43:35 · 426 阅读 · 0 评论 -
python-内存管理
内存管理内存剖析占用内存堆和栈引用计数垃圾回收分代回收标记-清除总结内存池机制小整数池字符串驻留池:intern机制内存剖析占用内存 int 1 4字节 float b=1.0 4字节 char c='_' 1字节 1024字节=1KB堆和栈C语言中,内存分配方法有2种:第一种:int a = 1; char s[10] = “hello”; 在栈区申请内存第二种:malloc()在堆区申请内存, free()释放内存Python语言中:所有的对象都在堆区申请内存。原创 2021-01-05 14:46:20 · 147 阅读 · 0 评论 -
python-元类
元类元类类和对象对象的类型类的类型使用元类创建类普通方法高级方法元类元类暂时在日常应用中还用不上,了解一下。类和对象类 :定义如何创建对象 ( 对象有哪些属性,有哪些方法),类是抽象的。笔记本类 :(属性:大小、颜色,方法:开机、关机等)英雄: (属性:名字、生命值、魔抗,方法:技能1 技能2 …)对象:由类创建出的真实存在的东西MacBookPro 2020 指定的型号 ,真实存在的东西钢铁侠 、蝙蝠侠 真实的英雄对象的类型对象的类型就是创建这个对象的类。钢铁侠原创 2021-01-01 18:31:14 · 163 阅读 · 0 评论 -
python-单例模式
单例模式单例模式单例模式的实现使用__new__实现单例模式使用装饰器实现单例模式使用import实现单例模式用指定的类方法实现单例模式创建线程安全的单例模式单例模式创建的对象内存什么时候开始释放?单例模式一般的类是多实例模式—即每创建一个对象,每个对象独享一份内存class MyClass(object): passif __name__ == '__main__': a = MyClass() b = MyClass() print(id(a)) # 214原创 2020-12-25 20:32:19 · 325 阅读 · 2 评论 -
python-类方法和静态方法
类方法类方法类方法class Person(object): def __init__(self, first_name, last_name): self.first_name = first_name self.last_name = last_name @classmethod # 类方法是为了创建对象 def full_name(cls,name): first_name,last_name = map(str,nam原创 2020-12-30 20:09:38 · 206 阅读 · 0 评论 -
python-多态
多态多态多态多态是面向对象的三大特征之一。(还有两个是封装和继承)官方说:接口的多种不同的实现方式即为多态。多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术。我们在程序中定义的引用变量所指向的具体类型和通过该引用变量的方法调用在编程的时候并不确定,当处于运行期间才确定。就是这个引用变量究竟指向哪一个实例对象,在编译期间是不确定的,只有运行期才能确定,这样不用修改源码就可以把变量绑定到不同的类实例上,让程序拥有了多个运行状态,这就是多态。简单来说,其实就是不同的对象调用同一个原创 2020-12-29 18:44:30 · 326 阅读 · 0 评论 -
python-魔术方法
魔术方法`__call__``__new__``__init__`__call____call__:可以让类的实例具有类似于函数的行为,进一步模糊了函数和对象之间的概念。使用方式:对象后面加括号,触发执行。即:对象() 或者 类()()class Person(object): def __call__(self, *args, **kwargs): print('call...')p = Person() # 将Person()的内存地址赋值给personp()原创 2020-12-25 16:06:24 · 159 阅读 · 1 评论 -
python-装饰器
装饰器装饰器装饰器格式基本的装饰器装饰器类带参数的装饰器装饰器简单的来说,装饰器就是修改其他函数功能的函数。在不改变其他函数代码的基础上,增加额外的功能。装饰器格式基本的装饰器def 装饰器名(func): def wrapper(*args,**kwargs): # 要做的装饰,省略若干代码 return func(*args,**kwargs) return wrapper装饰器类class 装饰器名(object): def __init_原创 2020-12-24 16:39:27 · 111 阅读 · 2 评论 -
python-闭包
闭包闭包的介绍闭包的定义:闭包的构成条件简单闭包的示例代码闭包的作用闭包的应用修改闭包内使用的外部变量修改闭包内使用的外部变量的错误示例修改闭包内使用的外部变量的正确示例闭包的介绍我们知道当函数调用完,函数内定义的变量都销毁了,但是我们有时候需要保存函数内的这个变量,每次在这个变量的基础上完成一些列的操作,比如: 每次在这个变量的基础上和其它数字进行求和计算,那怎么办呢?闭包的定义:在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函原创 2022-01-13 19:55:03 · 156 阅读 · 0 评论 -
python-上下文管理器
上下文管理器上下文管理器自己定义上下文管理器执行顺序不是上下文管理器的类扩展为上下文管理器上下文管理器上下文管理协议: 包含 __enter__() 和__exit__()方法上下文管理器: 支持 “上下文管理协议”的对象自己定义上下文管理器class MyClass(object): def __enter__(self): print('enter is running ...') return 1 def __exit__(self, e原创 2020-12-29 16:42:35 · 127 阅读 · 0 评论 -
python-匿名函数、内置函数及递归
函数高阶函数高阶匿名函数用lambda定义函数的特点lambad函数用法lambda表达式的应用内置函数map函数(映射)reduce函数(累积)filter函数(过滤)zip函数(打包)递归Python递归深度设置递归深度递归应用---栈(先进后出)闭包复习可迭代对象、迭代器、生成器概念及其联系函数高阶匿名函数匿名函数又称为lambda表达式。匿名函数写法:lambda 参数1,参数2… : 返回值def f(x): return x +1g = lambda x :x+1prin原创 2020-12-23 15:32:56 · 398 阅读 · 0 评论 -
python-迭代器和生成器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档迭代器和生成器一、可迭代对象二、迭代器1.引入库2.读入数据三、生成器总结一、可迭代对象只要有 iter 方法的都是可迭代对象可以被for循环的都是可迭代对象,严格的来说for是迭代,可以自动执行 iter 和 next二、迭代器1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn原创 2020-11-26 13:22:48 · 173 阅读 · 1 评论 -
python-python的PEP8规范
python的PEP8规范换行括号缩进空行空格注释继承循环字符串关闭文件导入下划线类main判断通用换行主动换行foo_bar(self, width, height, color='black', design=None, x='foo', emphasis=None, highlight=0)括号隐式连接if (width == 0 and height == 0 and color == 'red' and emphasis == 'stron原创 2020-11-25 20:46:18 · 370 阅读 · 0 评论