python-learn
python语言基础、Flask、Django
zyanwei2018
这个作者很懒,什么都没留下…
展开
-
数据分析 -- pandas
pandas库基本操作原创 2024-04-07 23:21:43 · 348 阅读 · 1 评论 -
python --jupyter notebook工具部署
jupyter notebook工具部署。原创 2024-04-03 09:49:55 · 110 阅读 · 0 评论 -
数据分析 -- numpy
numpy使用原创 2024-04-02 23:29:41 · 669 阅读 · 0 评论 -
python -- NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+
NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+原创 2024-04-02 00:55:55 · 1834 阅读 · 0 评论 -
pycharm配置远程开发
pycharm 配置远程开发原创 2024-01-29 21:59:08 · 398 阅读 · 0 评论 -
Vscode配置python代码开发
Vscode 配置python 开发原创 2024-01-24 10:14:44 · 1436 阅读 · 0 评论 -
FastApi -- 第一个程序
FastApi -- 第一个程序。原创 2023-12-19 04:23:40 · 435 阅读 · 0 评论 -
python -- dotenv变量管理
dotenv管理python .env文件变量原创 2023-12-19 03:54:58 · 833 阅读 · 0 评论 -
python --深拷贝与浅拷贝
copy.copy():浅拷贝是创建一个新对象,但是新对象的元素是原对象的引用。也就是说,新对象和原对象共享同一块内存空间。当原对象的元素发生改变时,新对象的元素也会随之改变。copy.deepcopy():深拷贝是创建一个新对象,并且新对象的元素也是新创建的对象,而不是原对象的引用。也就是说,新对象和原对象完全独立,互不影响。当原对象的元素发生改变时,新对象的元素不会受到影响。原创 2023-06-28 18:08:55 · 177 阅读 · 0 评论 -
python库--pipreqs
文章目录简介使用简介pip freeze > requirements.txt生成依赖时,会在requirements.txt中生成当前项目依赖的包列表,但其中有很多是项目不需要的,此时就要用到pipreqs,生成最简依赖列表。使用安装pip install pipreqs生成requirements.txt到当前项目根目录pipreqs ./指定编码pipreqs ./ --encoding=utf8 --force...原创 2021-11-21 06:26:04 · 1091 阅读 · 0 评论 -
python --类变量和实例变量
文章目录类变量和实例变量类变量和实例变量class A(object):__instance = Nonea = 0 # 类变量def __init__(self, b):self.b = b # 实例变量A.a += 1print(A.a)print(self.b)m = A(44)print(id(m))print("*" * 30)n = A(55)print原创 2021-11-16 10:29:44 · 773 阅读 · 0 评论 -
python--快速启动Server
快速启动一个可供测试的接口服务使用技术:python + falskfrom flask import Flask, render_template, request, jsonifyfrom flask_cors import CORSapp = Flask(__name__)app.config['JSON_AS_ASCII'] = FalseCORS(app, supports_credentials=True) # 配置支持跨域# 返回的借口数据user_info =原创 2021-01-27 12:14:35 · 672 阅读 · 0 评论 -
python进阶--异步
3. 异步3.1 asynciopython3.4开始引入的标准库,内置了对异步io的支持asyncio本身是一个消息循环步骤: 创建消息循环 把协程导入 关闭import asyncio@asyncio.coroutinedef hello(): print("Hello world!") # 异步调用asyncio.sleep(1): print("Start......") r = yield from asyncio.slee原创 2020-12-27 00:48:50 · 224 阅读 · 2 评论 -
python进阶--多线程/多进程/协程
多线程与多进程效率比较多线程多进程总结1000个任务分别使用3个线程运行和3个进程运行。比较运行时间多线程由于python GIL的原因,导致无法真正并行,只能进行并发,每次仅有一个线程运行import queueimport requestsimport threadingimport time# 创建线程队列并新增1000个任务q = queue.Queue()for i in range(1000): q.put('http://127.0.0.1:5000')原创 2020-12-26 23:59:53 · 415 阅读 · 2 评论 -
python进阶--多进程
文章目录3. 线程替代方案3.1 替代进程3.2 多进程3. 线程替代方案3.1 替代进程subprocess - 完全跳过线程,使用进程 - 是派生进程的主要替代方案 - python2.4后引入multiprocessiong - 使用threadiing借口派生,使用子进程 - 允许为多核或者多cpu派生进程,接口跟threading非常相似 - python2.6concurrent.futures - 新的异步执行模块 -原创 2020-12-23 16:21:03 · 103 阅读 · 0 评论 -
python进阶--线程队列Queue和生产消费者模型
文章目录python队列生产者消费者模型python队列官方文档:https://docs.python.org/zh-cn/3.6/library/queue.html参考博客:https://blog.csdn.net/weixin_43533825/article/details/89155648Queue方法:Queue.qsize() :返回队列的大小Queue.empty() :如果队列为空,返回True,反之FalseQueue.full() :如果队列满了,返回Tru原创 2020-12-21 15:23:06 · 112 阅读 · 1 评论 -
python进阶--协程
文章目录1. 参考资料2. 迭代器2.1 定义3. 生成器3.1 定义3.2 生成器创建4. 协程4.1 定义4.2 协程的四个状态5. 异步5.1 asyncio5.2 async and await5.3 aiohttp5.4 concurrent.futures1. 参考资料资料- https://blog.csdn.net/andybegin/article/details/7788...原创 2019-04-07 13:15:23 · 157 阅读 · 0 评论 -
python进阶--多线程
文章目录1. 定义1.1 多线程 vs 多进程2. Python包2.1 包介绍2.2 _thread包的使用2.3 threading的使用2.4 守护线程-daemon2.5 线程常用属性2.6 继承方法使用多线程2.7 共享变量3. 线程替代方案3.1 替代进程3.2 多进程1. 定义1.1 多线程 vs 多进程程序:一堆代码以文本形式存入一个文档进程: 程序运行的一个状态- 包含...原创 2019-03-27 11:14:29 · 200 阅读 · 0 评论 -
python进阶--内存管理
文章目录小整数池intern机制和大整数池深拷贝和浅拷贝垃圾回收机制小整数池intern机制和大整数池Python解释器为了提高字符串使用的效率和使用性能,使用了 intern(字符串驻留)的技术来提高字符串效率,即值同样的字符串对象仅仅会保存一份,放在一个字符串储蓄池中,是共用的,当然,肯定不能改变,这也决定了字符串必须是不可变对象深拷贝和浅拷贝通常只在列表嵌套列表时讨论深拷贝和浅拷贝浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。所以原始数据子对象改变,子对象会改变深拷贝原创 2020-12-20 22:05:04 · 392 阅读 · 2 评论 -
python进阶--元类和ORM实现
文章目录元类和ORM新式类和旧式类类和类型元类type元类用途和ORM实现逻辑元类和ORM新式类和旧式类定义新式类:继承了object的类才是新式类,反之则为旧式类(经典类。Python 3.x中默认继承object,因此都是新式类;Python 2.x只有显式继承了object才是新式类。区别:新式类保持class与type的统一,通过__class__与type()访问的结果是一致的。也就是说新式类统一了类(class)和类型(type)的概念,而旧式类的类型(type)继承自in原创 2020-12-18 14:47:00 · 165 阅读 · 0 评论 -
python进阶--描述器和ORM模型
文章目录描述器和ORM模型描述器ORM描述器实现ORM描述描述器和ORM模型描述器描述器定义:对象中定义了__get__() 、set() 、 delete()方法中的任意一个,这个对象就是一个描述器描述器作用:描述器功能强大,应用广泛,它可以控制我们访问属性、方法的行为,是@property、super、静态方法、类方法、甚至属性、实例背后的实现机制,是一种比较底层的设计描述器官方文档:https://docs.python.org/zh-cn/3/howto/descriptor.html#原创 2020-12-16 16:43:48 · 104 阅读 · 0 评论 -
python进阶--上下文管理器和pymysql
文章目录mysql连接封装上下文管理器方式连接mysqlmysql连接封装import pymysqlclass DoMysql: def do_mysql(self, config, sql): config = config # 打开数据库连接 db = pymysql.connect(**config) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.curso原创 2020-12-12 17:44:27 · 417 阅读 · 0 评论 -
python进阶--python魔术方法
文章目录python魔术方法1. 构造方法__new__2. 单例模式单例模式实现一:__new__方法单例模式实现二:装饰器方式3. 方法__str__和__repr__4. 方法__call__类装饰器实现5. 上下文管理器6.算术方法python魔术方法参考文档:https://www.cnblogs.com/nmb-musen/p/10861536.html1. 构造方法__new__构造方法包括创建对象和初始化对象,在python当中,分为两步执行:先执行__new__方法,然后执行__原创 2020-12-12 16:12:46 · 191 阅读 · 0 评论 -
python基础--类的3种方法
类的3种方法实例方法: 需要实例化对象才能使用的方法,使用过程中可能需要截止对象的其他对象的方法完成静态方法: 不需要实例化,通过类直接访问类方法 : 不需要实例化class Demo: def __init__(self, name): self.name = name @classmethod # @classmethod装饰之后就是类方法 def fun1(cls): # cls代表类本身 print(cl原创 2020-12-02 17:58:14 · 494 阅读 · 0 评论 -
python基础-元组列表字典集合原理
文章目录1. list和tuple的性能2. dict和set的原理3. 命名元祖4. 推导式1. list和tuple的性能参考文档https://blog.csdn.net/run_bomb/article/details/913807952. dict和set的原理参考文档https://blog.csdn.net/siyue0211/article/details/80560783https://blog.csdn.net/weixin_40107510/article/detail原创 2020-12-02 17:22:15 · 320 阅读 · 0 评论 -
python基础--生成器和迭代器
文章目录1. 迭代器2.1 定义3. 生成器3.1 定义3.2 生成器创建生成器和迭代器区别1. 迭代器2.1 定义可迭代对象(Iterable): 直接作用于for循环的变量,内部实现了__iter__()方法迭代器(Iterator): 不但可以作用于for循环,还可以被next调用,内部实现了__iter__()和__next__()方法list是典型的可迭代对象,但不是迭代器## 可迭代l = [ i for i in range(10)]# l是可迭代的,但不是迭代器原创 2020-12-02 17:10:11 · 121 阅读 · 0 评论 -
python项目包管理及github配置
文章目录1. python包管理2. pip方式3. pipenv方式安装命令4. poetry安装配置常用命令5. github相关配置配置travel-ci配置单测覆盖率检查配置徽章标准项目目录结构1. python包管理pip + requirements.txtpipenv + pipfilepoetry + pyproject.yml2. pip方式参考文档1:https://blog.csdn.net/qq_25672165/article/details/104945587参考原创 2020-11-25 11:50:21 · 539 阅读 · 0 评论 -
python命令行定义和参数读取
文章目录argparse库sys.argvargparse库argparse库:python 标准库中推荐的命令行解析模块,可用于定义python命令官方文档:https://docs.python.org/zh-cn/3.7/howto/argparse.html# demo.pyimport argparseparser = argparse.ArgumentParser()parser.add_argument("square", type=int, help="display a原创 2020-11-25 10:08:40 · 153 阅读 · 0 评论 -
python内存地址和编译字节码
文章目录查看内存地址编译后生成的字节码查看内存地址id() 函数用于获取对象的内存地址a = '3'b = '3'print(id(a))print(id(b))>140328813804208140328813804208结论: a和b指向相同的内存地址编译后生成的字节码dis.dis()函数可以查看编辑后的字节码import disa = 'if a is not None: pass'b = 'if not a is None: pass'print(di原创 2020-11-06 15:39:11 · 786 阅读 · 0 评论 -
os.path和pathlib的使用
文章目录os.pathpathlibos.pathos的写法是嵌套式调用,当处理多个层级的目录路径时,通过 os.path 需要嵌套写法。import os# 获取当前文件位置current_path = os.path.realpath(__file__)print(current_path)print(type(current_path))# 获取根目录位置 os.path.split() ---返回列表project_path = os.path.split(os.path原创 2020-08-07 11:08:40 · 369 阅读 · 1 评论 -
python语言--读取输入命令行参数
python命令行运行时获取命令行输入的参数import sysdef get_sys_info(): command_params = sys.argv print(command_params) return command_paramsif __name__ == '__main__': get_sys_info()# shell> python run.py 123 456['run.py', '123', '456']...原创 2020-08-06 21:20:34 · 383 阅读 · 0 评论 -
python语言--dict KeyError问题
python语言中,获取一个不存在的key值时会引发异常。d = {'username': 'admin', 'pwd': '123456'}r = d['password']> KeyError: 'password'解决方法一,使用dict的get方法,当key值不存在时,返回Noned = {'username': 'admin', 'pwd': '123456'}r1 = d.get('username')r2 = d.get('password')print(r1)pr原创 2020-08-06 21:02:44 · 1008 阅读 · 0 评论 -
python语言--时间戳转换
import time# 获取时间戳t1 = time.time()# 时间戳转时间b = time.localtime(t1)t2 = time.strftime("%Y-%m-%d %H:%M:%S", b)# 时间转时间戳timeArray = time.strptime(t2, "%Y-%m-%d %H:%M:%S")t3 = time.mktime(timeArray)print(t1)print(t2)print(t3)>1596690144.334原创 2020-08-06 13:04:08 · 145 阅读 · 0 评论 -
python爬虫--13 猫眼电影爬虫
"""HTML下载器:利用requests模块下载HTML网页;HTML解析器:利用re正则表达式解析出有效数据数据存储器:将有效数据通过文件或者数据库的形式存储起来"""import requestsimport jsonimport refrom multiprocessing.dummy import Poolfrom requests.exceptions import RequestException# 一、构造HTML下载器headers = {'User-Agent':原创 2020-08-05 14:15:50 · 446 阅读 · 0 评论 -
python语言--发送邮件
文章目录python 发送邮件代码python 发送邮件代码import smtplibimport timefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText from email.mime.application import MIMEApplication#邮件发送的用户名和密Netty连接建立后会返回一个Channel,这就是数据传输的管道码 常识:第三方授权码_us原创 2020-08-04 16:27:52 · 160 阅读 · 0 评论 -
python语言--pip配置清华源
配置pip命令取清华源mac# shell命令mkdir ~/.pipcd .pipvim pip.conftimeout = 6000[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host=pypi.tuna.tsinghua.edu.cnwin创建文件夹和文件路径:C:\Users\zy\pip\pip.ini,编辑文件内容后保存timeout = 6000[glo原创 2020-07-30 22:05:41 · 811 阅读 · 2 评论 -
python代码--log日志
文章目录打印函数运行时间简版日志不同函数输出不同的日志内容不同级别的日志输出到不同的文件中打印函数运行时间import timedef time_func(func): def wrapper(*args, **kwargs): start = time.time() res = func(*args, **kwargs) end = time.time() print('函数运行时间为{}s'.format(end - st原创 2020-05-15 00:28:33 · 372 阅读 · 0 评论 -
python代码--文件操作
文章目录输入文件并打印文件行内容文件内容替换输出两个文件内容不同行输出文件夹下文件类型获取路径下文件大小文件搜索模糊搜索并将结果写入文件输入文件并打印文件行内容file_name = input("请输入文件名:")line = input('请输入行数,格式为 1-2 或 - :')def print_lines(file_name, line): f = open(file_name) begin,end = line.split('-') if begin == ''原创 2020-05-15 00:26:07 · 233 阅读 · 0 评论 -
python代码--函数
文章目录定义一个门票系统游戏编程:按一下要求定义一个乌龟类和鱼类并尝试编程定义一个点(point)和直线(Line)类,使用getLen方法获取两点构成直线的长度定义异常生成密码登陆小程序将首字母大写,其他小写输出1-1000之间从左往右与从右往左数一样的数学生排序定义一个门票系统门票的原价是100元当周末的时候门票涨价20%小孩子半票计算2个成人和1个小孩的平日票价class Ticket(): def __init__(self, weekend=False, child=False原创 2020-05-15 00:13:55 · 462 阅读 · 0 评论 -
python基础-虚拟环境
文章目录1. 虚拟环境简介虚拟环境的意义虚拟环境的原理2. 虚拟环境包virtualenvvirtualenvwrapper1. 虚拟环境简介虚拟环境的意义pip install xx 的方式安装第三方包是安装到系统级级的Python环境中。但在实际开发中可能会同时存在Django 1.10.x和Django 0.9版本的项目开发或维护,Django 1.10 不再兼容 Django 0.9 的一些语法了。此时就需要使用虚拟环境。虚拟环境的原理虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包原创 2020-05-10 00:08:01 · 129 阅读 · 0 评论