![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 51
小二百
这个作者很懒,什么都没留下…
展开
-
MacOs M1 安装python环境(pyenv+virtualenv)总结
# macos中安装brew install pyenvbrew install pyenv-virtualenv# pyenv activate后python版本没有生效,是因为pyenv virtualenv创建虚拟环境的时候没有激活,需要先激活virtulanev后再创建,macos中ivan@ivandeMacBook-Pro ~ % source ~/.zshrcivan@ivandeMacBook-Pro ~ % cat .zshrceval "$(pyenv init -)原创 2021-07-28 20:36:06 · 3175 阅读 · 0 评论 -
python在windows和linux系统下使用virtualenv环境
windows系统1.pip install virtualenv(安装virtualenv)2.virtualenv 环境名字(创建virtualenv环境)(若要复制原来python安装的pip包,可以使用命令virtualenv --no-site-packages 环境名字)3.环境名字\Scripts\activate(使用virtua原创 2016-02-29 21:33:41 · 1113 阅读 · 0 评论 -
django annotate() 分组查询时,如果model 中meta中有 ordering排序字段,则分组查询时会自动将排序字段作为一个分组字段,解决方式为去除掉meta里面的排序字段
坑!!django annotate() 分组查询时,如果model 中meta中有ordering排序字段,则分组查询时会自动将排序字段作为一个分组字段,解决方式为去除掉meta里面的排序字段.也可以使用queryset.query.add_ordering('order_fields'), 重新改变排序字段规则...原创 2019-05-21 18:36:28 · 699 阅读 · 0 评论 -
django 隐藏特殊参数或者隐藏本地变量方法
django 隐藏特殊参数或者隐藏本地变量方法from django.views.decorators.debug import sensitive_post_parametersfrom django.utils.decorators import method_decoratordef sensitive_post_parameters(*parameters):"""Ind...原创 2019-05-21 18:42:57 · 1164 阅读 · 0 评论 -
url参数加密算法https://pypi.org/project/xxtea-python/1.0.2/
url参数加密算法https://pypi.org/project/xxtea-python/1.0.2/https://blog.csdn.net/brantni/article/details/48025479使用url参数加密网站例子:http://www.cdepb.gov.cn/cdepbws/Web/gov/advancedsearch.aspx?kw=ykTzLxmr...原创 2019-05-21 18:44:36 · 549 阅读 · 0 评论 -
django时间排序时, 遇到时间为空时导致排序失败的问题
解决按照时间排序时,遇到时间为空时导致排序失败的问题,top_articles = Article.objects.filter( is_crawled=4, is_active=True ).order_by( F('pinned_time').desc(nulls_last=True), '-created_time' ...原创 2019-05-21 18:46:58 · 1355 阅读 · 0 评论 -
装饰器基础知识
装饰器基础知识装饰器是可调用对象,其参数是另一个函数(被装饰的函数)。装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象。 假如有一个名为decorate的装饰器:@decoratedef target(): print('running target()')上述代码的效果与下述写法一样:def target(): print(...转载 2019-06-03 18:03:53 · 202 阅读 · 0 评论 -
python中的协程
先介绍下什么是协程: 协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。是不是有点没看懂,没事,我们下面会解释。要理解协程是什么,首先需要理解yield,这里简单介绍下,yield可以理解为生成器,...转载 2019-06-03 18:08:07 · 163 阅读 · 0 评论 -
python代码风格
Django 规范--------------1. 尽量使用 Class Base View 编程,更少代码2. 使用 Django Form3. 每个 URL 独立命名,不要硬编码,同理 Static 也是4. 数据库表名手动指定,不要使用默认5. 代码优雅简洁6. 注释明确优美7. 测试案例尽可能完整8. 尽可能利用 Django 造好的轮子代码风格------...原创 2019-06-10 17:16:07 · 696 阅读 · 0 评论 -
python 装饰器/函数装饰器/类装饰器
python函数装饰器和类装饰器笔记.#!usr/bin/env python# -*- coding:utf-8 _*-"""@author:ivan@file: decorators.py @version:"""from functools import wraps# 装饰器: 目的是为了给函数添加附加功能# 1. 不带参数装饰器# 此方式, 将会把被装饰的...原创 2019-08-27 15:49:25 · 243 阅读 · 0 评论 -
cached_property/缓存属性
# cached_property 缓存属性class cached_property(object): """ Decorator that converts a method with a single self argument into a property cached on the instance. Optional ``name`` argum...原创 2019-08-29 11:58:33 · 1824 阅读 · 0 评论 -
python的一个面试题
今天遇到了个面试题,感觉很不错,补充了一下记录下来。a = [[]]b = [[]]*5print 'b:%s'%blist1 = b[1].append(10)print 'list1:%s'%list1print 'b:%s'%blist2 = b[2].append(20)print 'list2:%s'%list2print 'b:%s'%b先做再看答案吧。答案:b原创 2016-02-29 20:43:29 · 668 阅读 · 0 评论 -
python文件操作
文件操作主要有三步:1.获取文件路径2.打开文件3.关闭文件其中文件的路径很重要,如若路径不正确将会出现异常。#文件操作(注意:最好把读写操作分开,即分别用w和r模式操作文件,)import osfile = os.path.join(os.path.dirname(__file__),'1.py')#文件(需要包含路径才能正常操作文件)with open(file,'a原创 2016-01-12 14:29:27 · 588 阅读 · 0 评论 -
python中的decode解码和encode编码使用
python中的decode解码和encode编码使用,decode是解码,它是将不是unicode的格式解码(转换)成unicode格式,使用时必须知道其格式。encode是编码,它是将unicode格式编码(转换)成非unicode格式,使用时必须是unicode格式。语法是:对象.decode(非unicode格式)=unicode格式对象.encode(非unicode原创 2015-12-17 16:28:55 · 2516 阅读 · 0 评论 -
python中的高阶函数map(),reduce(),filter()的区别
map()和reduce()的区别:1.map()中的函数(是指map()两个参数中的函数中的参数,而不是map()的参数)可以传人一个或者多个参数,reduce()中的函数必须接收两个参数2.map()是将传人的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次,reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),最终结果是所有的元素相互作用的结果。新手学习python,看网上资料有点晕,所以自己总结了一下这三个函数作为笔记。原创 2015-11-12 18:52:44 · 3220 阅读 · 0 评论 -
python装饰器decorator之计算函数运行时间的例子
python装饰器decorator之计算函数运行时间的例子原创 2015-11-17 17:37:51 · 2804 阅读 · 0 评论 -
windows 安装easy_installm命令和pip命令
安装pip命令之前,需要安装easy_intall命令首先安装easy_install命令1.下载运行ez_setup.py要得到这个文件有两种方式:第一种方式:(1)到这个网址http://pypi.python.org/pypi/setuptools/找到Windows (simplified)下面的ez_setup.py,点击会出现一大串代码,在python的安装原创 2015-11-02 11:16:19 · 1530 阅读 · 0 评论 -
(windows下)python2.x有关Tkinter,simpledialog,messagebox的问题
(windows下)python2.x有关Tkinter,simpledialog,messagebox的问题python3是tkinter,python2中是Tkinter#python2下from Tkinter import *import tkSimpleDialog as dlimport tkMessageBox as mbroot=Tk()w=Label(roo原创 2015-11-18 19:35:31 · 5901 阅读 · 1 评论 -
python中filter函数的使用问题
#wh注意:filter其实是将列表传入函数中,然后根据函数返回true或者false进行筛选,保留true的结果,筛选掉false的结果def func(s): print s and len(s.strip())>0 return s and len(s.strip())>0def f(s): print len(s.strip())>0 return le原创 2015-11-26 16:37:43 · 1369 阅读 · 0 评论 -
python字符串使用问题
python字符串使用问题,字符串前面加上r时,字符串就是原始字符串,转义符将‘失效’。1.使用r'...'时,从第一个’引号开始,从后面寻找引号’,并把寻找到的第一个引号‘和前面的引号组成一个r'...',剩余的部分如果出现引号必须是成双成对,而且所有的字符必须在引号内,否则会出现invalid syntax(无效的语法)错误,同样r'''...'''和r"""..."""也是寻找第一个''原创 2015-12-28 21:27:34 · 704 阅读 · 0 评论 -
python的copy.copy()和copy.deepcopy()方法
python中copy.copy()是浅拷贝,只拷贝父对象,不会拷贝对象的内部的字对象。copy.deepcopy()是深拷贝,会拷贝对象及其字对象。import copyaList = ['1',2,'a',['b','c']]bList = aList#将aList赋给bListcList = copy.copy(aList)#浅拷贝dList = copy.deepco原创 2015-12-09 11:37:12 · 1241 阅读 · 0 评论 -
python中的正则表达式的compile,match,search,sub的使用
python中的正则表达式的compile,match,search,sub的使用compile只会从开头哦你匹配,如果不是开头的字符串,那么将不会匹配成功,而search可以匹配任意位置的字符串,会对整个匹配对象进行扫描,sub方法类似于字符串的replace方法,sub是对所有匹配到的内容进行替换,而不仅仅是替换第一个匹配到的对象。import restr = 'python原创 2015-12-17 22:01:48 · 8359 阅读 · 1 评论 -
python中创建字典的方法和迭代字典的方法
python中创建字典的方法和迭代字典的方法#-*- coding:utf-8 -*-#创建字典的方法a = {'name':'tom','age':22}#直接生成字典b = dict(name='tom',age=22)#注意:key键不能用引号,不能写'name'='tom'c = dict(zip(['name','age'],['tom',22]))#使用zip方法zip原创 2015-12-17 10:18:14 · 11058 阅读 · 0 评论 -
python自定义排序函数
python自定义排序函数,有两种方式第一种自定义函数:# 自定义排序函数def func(x,y): if x<y: return -1 if x==y: return 0 else: return 1a = [3,6,2,8,4]print u'正序排列:',sorted(a,func)print u'原创 2016-01-02 16:47:08 · 15991 阅读 · 0 评论 -
给了一串数字:218916754,根据下面规则可以找出扣扣号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后
给了一串数字:218916754,根据下面规则可以找出扣扣号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字连在一起得到一串数字。原创 2015-11-11 17:21:25 · 4204 阅读 · 0 评论