python
钟灵毓秀M
学而知不足
展开
-
pip修改为镜像源,window和linux修改方式
使用pip安装第三方包,使用-i参数可以临时指定pip源。原创 2023-11-03 18:03:24 · 777 阅读 · 0 评论 -
celery异步任务处理
一、异步任务异步任务是web开发中一个很常见的方法。对于一些耗时耗资源的操作,往往从主应用中隔离,通过异步的方式执行。简而言之,做一个注册的功能,在用户使用邮箱注册成功之后,需要给该邮箱发送一封激活邮件。如果直接放在应用中,则调用发邮件的过程会遇到网络IO的阻塞,比好优雅的方式则是使用异步任务,应用在业务逻辑中触发一个异步任务。二、celerycelery是基于python实现的一个异步任务...原创 2019-08-09 19:05:25 · 1056 阅读 · 1 评论 -
python语言的优点及与其他语言相比
一、编程语言是什么是用来定义 计算机程序 的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作。简单来说,编程语言就是人类和计算机进行交流的语言。Python就是一门编程语言,而且是现在世界上最流行的编程语言之一。二、Python的优点和缺点Python是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库的一门弱类型...原创 2019-08-21 10:43:21 · 2599 阅读 · 0 评论 -
编译型语言和解释型语言理解和区别
一、什么是编译型语言和解释型语言?计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:编译解释由此高级语言也分为编译型语言和解释型语言。二、编译型语言使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包...转载 2019-08-21 10:59:14 · 238 阅读 · 0 评论 -
python基础——hashlib模块详解
一、hashlibHash,译做“散列”,也有直接音译为“哈希”的。把任意长度的输入,通过某种hash算法,变换成固定长度的输出,该输出就是散列值,也称摘要值。该算法就是哈希函数,也称摘要函数MD5是最常见的摘要算法,速度很快,生成结果是固定的16字节,通常用一个32位的16进制字符串表示。SHA1算法更安全点,它的结果是20字节长度,通常用一个40位的16进制字符串表示。而比SHA1更安...原创 2019-08-04 16:44:20 · 876 阅读 · 0 评论 -
python库——turtle海龟画图方法汇总
Turtle 方法(1)海龟的动作移动和绘制方法说明forward() , fd()前进backward() ,bk() ,back()后退right() , rt()右转left() , lt()左转goto() ,setpos() ,setposition()前往/定位setx()设置x坐标sety()设置y坐标...原创 2019-08-10 01:19:56 · 7092 阅读 · 0 评论 -
Python——logging日志模块的简单使用
一、logging日志模块python程序中想要记录程序在运行时所产生的日志信息,可以使用 logging 这个包来完成。logging模块是python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件和回滚等;记录程序日志信息的目的是:可以很方便的了解程序的运行情况可以分析用户的操作行为、喜好等信息方便开发人员检查bug日志等级说明:DE...原创 2019-09-05 19:46:08 · 250 阅读 · 0 评论 -
python可变类型和不可变类型的区别
一、python的数据类型在Python中主要有两种数据类型, 一种是可变数据类型, 另一种是不可变数据类型可变类型(mutable):列表,字典(key是不可变)不可变类型(unmutable):数字,字符串,元组这里的可变不可变,从对象内存地址方向来说,是指内存中的值(value)是否可以被改变。python所声明的变量都以对象的形式存在,存在于机器的固定内存之中。二、不可变类...原创 2019-08-21 16:45:06 · 4948 阅读 · 1 评论 -
python基础——文件的基本操作
1.操作文件的函数函数说明open()打开文件,并且返回文件操作对象read([count])将文件读取到内存,如果有count,则读出count个字节write()把string字符串写入文件close()关闭文件,打开后一定要关闭,否则会占用系统的可打开文件句柄数flush()刷新输出缓存tell()获取文件指针位置seek...原创 2019-07-28 11:25:07 · 105 阅读 · 0 评论 -
python多任务编程——多进程多线程编程
一、什么是多任务概念:多任务是指操作系统同一时间内执行多个任务,例如: 现在电脑安装的操作系统都是多任务操作系统,可以同时运行着多个软件,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业作用:使用多任务就能充分利用CPU资源,提高程序的执行效率,让你的程序具备处理多个任务的能力。二、并发和并行多任务的执行方式:并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,...原创 2019-08-30 21:24:33 · 259 阅读 · 0 评论 -
python模块——时间模块time详解
python提供了三个与时间有关的标准模块,时间模块 time、基本时间日期模块 datetime 和日历模块 Calendar。本文介绍时间模块time。time模块time处理时间的模块,获取时间戳,格式化时间等时间表现格式:time模块中,时间表现的格式主要有三种:timestamp时间戳,是指某个时间与1970年1月1日00:00:00的差值,单位为秒,是一个浮点型数值st...原创 2019-08-11 18:01:02 · 1133 阅读 · 0 评论 -
python2和python3中round()函数的区别
round()round() 函数返回浮点数x的四舍五入值。print(round(70.23))print(round(70.883))print(round(5.812, 1))print(round(45.268, 2))print(round(30.000023, 3))print(round(-30.000095, 3))# 打印结果70715.845.273...原创 2019-09-07 00:03:54 · 1387 阅读 · 0 评论 -
python——垃圾回收机制(GC)
Python垃圾回收机制主要以引用计数为主,标记清除, 分代收集为辅助一、引用计数引用计数的原理:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_ref减1,一旦对象的引用计数为0,该对象立即被回收,对象占用的内存空间将被释放。当发生以下四种情况的时候,该对象的引用计数器+1对象被...原创 2019-09-14 12:24:12 · 338 阅读 · 0 评论 -
python——用MyQR库制作图片或动图二维码
今天逛b站,发现了Python一个比较好玩的库MyQR,可以用来制作图片背景的二维码,甚至是动态图片背景的二维码,而且制作起来灰常简单。先安装:pip install myqr该库提供两种方法制作二维码:方法一:使用命令行myqr -c -v1 -n "myblog.png" -p blog.png https://blog.csdn.net/weixin_45455015可选...原创 2019-10-07 21:18:36 · 1171 阅读 · 0 评论 -
python抽象类——abstractmethod方法和应用
python抽象类——abstractmethod方法和应用原创 2023-06-14 00:07:58 · 597 阅读 · 0 评论 -
python标准库——OS模块接口详解
os模块提供各种Python 程序与操作系统进行交互的接口。os模块是整理文件和目录最常用的模块。原创 2023-02-22 22:44:29 · 707 阅读 · 0 评论 -
python力扣刷题记录——快慢双指针刷题汇总
以下几题的思路差不多,都是定义i,k两个快慢指针,i用来遍历,k用来表示有效范围,将符合提议的值都交换或者复制到[0, k]的范围内。283. 移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路1:k和i指针,i用来遍历,当i的数不等于0,将k的值赋值为i的值,k++,循环结束后,将k后面的值都赋值为原创 2021-11-12 02:06:01 · 217 阅读 · 0 评论 -
python一些易弄错的小细节记录
1.python集合运行(-,&,|,^)a = {1, 2, 3, 4, 5}b = {5, 6}# 集合a中包含而集合b中不包含的元素print(a - b) # {1, 2, 3, 4}# 集合a和b中都包含了的元素print(a & b) # {5}# 集合a或b中包含的所有元素 print(a | b) # {1, 2, 3, 4, 5, 6}# 不同时包含于a和b的元素print(a ^ b) # {1, 2, 3, 4, 6}2.pyth原创 2021-07-25 14:42:53 · 95 阅读 · 0 评论 -
python力扣刷题——剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方法:从右上角开始找,类似二分法。比它小就去掉当前列,比它大就去掉当前行,一次次缩小范围。当然,也可以从左下角开始找起,相反的操作。class Solution: def findNumberIn2DArray(self, matrix: List[List[.原创 2021-06-30 00:45:27 · 260 阅读 · 0 评论 -
python实现RPC——xmlrpc库的简单使用
一、RPC介绍RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务。RPC 是一种设计,就是为了解决不同服务之间的调用问题,完整的 RPC 实现一般会包含有传输协议 和序列化协议这两个。RPC采用客户端/服务器模式。请求程序就是一个客户端,而提供服务的程序就是一个服务器。首先,客户端调用进程发送一个请求信息到服务器端,然后等待应答信息。在服务器端,进程保持睡眠状态直到请求信息到达为止。当一个请求信息到达,服务器获得进程参数,然后执行对应的服务方法并原创 2021-06-19 20:13:32 · 1127 阅读 · 0 评论 -
python中for...else...语句用法
python中while或者for循环之后还可以有else子句的情况作用:当循环语句中没有执行break的话,循环语句结束后,就会执行else语句。但是如果中间执行了break语句,跳出循环后,那么不会执行else语句。例如:中间没有执行break, 循环完,就会执行else语句for i in range(5): print(i)else: print('hello world')# 输出:01234hello world中间执行了break语句,跳出for循原创 2021-03-22 23:59:27 · 444 阅读 · 0 评论 -
python力扣刷题——946. 验证栈序列
题目:946. 验证栈序列给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop操作序列的结果时,返回 true;否则,返回 false 。方法一:利用队列和栈的特点class Solution: def validateStackSequences(self, pushed: List[int], popped: List[int]) -> bool: stack = []原创 2021-03-03 00:23:19 · 286 阅读 · 0 评论 -
python小数取整方法总结
1.向下取整,用int()print(int(-2.33))print(int(2.22))"""-22"""2.向上取整,用math模块的ceil()print(math.ceil(-2.77))print(math.ceil(2.22))print(math.ceil(3.75))"""-234"""3.四舍五入,用round()print(round(2.44))print(round(3.66))print(round(3.66, 1))print(r原创 2021-02-19 08:03:07 · 9368 阅读 · 0 评论 -
python进制之间转换(二进制,八进制,十进制,十六进制)
python进制之间转换(二进制,八进制,十进制,十六进制)# 二进制,八进制,十六进制转十进制print(int('1101', 2))print(int('0o226', 8)) # 0o代表八进制print(int('0x96', 16)) # 0x代表十六进制print("--------------------")"""13150150"""# 八进制,十六进制,十进制转二进制print(bin(8))print(bin(0o10))print(bin(0xa))原创 2021-02-17 19:05:48 · 2823 阅读 · 1 评论