
python
fadoherry
这个作者很懒,什么都没留下…
展开
-
异或交换
异或交换a,b = 1,-1a = a ^ bb = a ^ ba = a ^ bprint('a:%s\nb:%s'%(a,b))bin A : 0100 0001(二进制) B : 0100 0010异或交换规则:0 ^ 0 = 0 相同为01 ^ 0 = 1 不同为1a = a ^ b : 0100 00010100 0010结果: 0000 0011此时 a = 0000 0011b = a ^ b : 0000 00110100原创 2020-09-15 18:35:51 · 325 阅读 · 0 评论 -
python垃圾回收机制浅解
引用计数1).当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1.2).当对象的引用计数减少为0时,就意味着对象已经再没有被使用了,可以将其内存释放掉。标记-清除1)它分为两个阶段:第一阶段是标记阶段,GC会把所有的活动对象打上标记,第二阶段是把那些没有标记的对象非活动对象进行回收。2)对象之间通过引用(指针)连在一起,构成一个有向图3)从根对象(root object)出发,沿着有向边遍历对象,可达的(reachable)对象标记为活动对象,不可原创 2020-07-31 08:09:45 · 254 阅读 · 0 评论 -
协程
1. 什么是协程(进入上一次调用的状态)1.协程,又称微线程,纤程,协程是一种用户态的轻量级线程。2. 线程的切换会保存到CPU的栈里,协程拥有自己的寄存器上下文和栈3. 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈4. 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态5. 协程最主要的作用是在单线程的条件下实现并发的效果,但实际上还是串行的(像yield一样)2. 协程缺点(无法利用多原创 2020-07-23 07:57:23 · 327 阅读 · 0 评论 -
django全文检索实现
安装工具pip install django-haystackpip install whooshpip install jieba在setting.py中配置'''注册app '''INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contr原创 2020-07-22 11:13:39 · 360 阅读 · 0 评论 -
python排序算法
插入排序插入排序:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序;首先将第一个作为已经排好序的,然后每次从后的取出插入到前面并排序;时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定def insert_sort(ilist): for i in range(len(ilist)): for j in range(i): if ilist[i] < ilist[j原创 2020-07-21 22:41:49 · 139 阅读 · 0 评论 -
线程
1.线程定义线程是操作系统调度的最小单位它被包含在进程之中,是进程中的实际运作单位进程本身是无法自己执行的,要操作cpu,必须创建一个线程,线程是一系列指令的集合线程定义拓展回答内容1. 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位2. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务3. 无论你启多少个线程,你有多少个cpu, Python在执行的时候会淡定的在同一时刻只允许一个线程运行4. 进程本身是原创 2020-07-21 20:30:28 · 226 阅读 · 0 评论 -
进程
1.进程定义1.进程是资源分配最小的单位2.当一个可执行程序被系统执行(分配内存等资源)就变成了一个进程进程定义拓展回答内容1.程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,这种执行的程序就称之为进程2.程序和进程的区别在于:程序是指令的集合,他是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念3.在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行4.进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上原创 2020-07-21 20:21:17 · 116 阅读 · 0 评论 -
django+celery+redis异步发送邮件
django+celery+redis异步发送邮件代码如下tasks.pyfrom celery import Celeryfrom shiyanlou.settings import *from django.conf import settingsfrom django.core.mail import send_mailapp = Celery('celery_task.tasks',broker="redis://127.0.0.1:6379/3",worker="redis:原创 2020-07-21 18:27:18 · 174 阅读 · 0 评论 -
阿里云沙箱服务
阿里云沙箱服务使用依赖包工具安装(推荐):执行以下命令,安装阿里云SDK核心库。如果您使用Python 2.x,执行以下命令,安装阿里云SDK核心库:pip install aliyun-python-sdk-core如果您使用Python 3.x,执行以下命令,安装阿里云SDK核心库:pip install aliyun-python-sdk-core-v3python代码如下from alipay import AliPayalipay_public_key_string = "原创 2020-07-21 16:07:35 · 603 阅读 · 0 评论