
python
文章平均质量分 51
dxm809
这个作者很懒,什么都没留下…
展开
-
Pycharm安装opencv-python包,使用中cv2无法自动提示库函数解决方案
cv2无法自动提示库函数转载 2023-02-01 11:29:49 · 1226 阅读 · 2 评论 -
ubuntu卸载python3.8
1.卸载python3.8sudo apt-get remove python3.82.卸载python3.5以及它的依赖包sudo apt-get remove --auto-remove python3.53.清除python3.5要想清除python3.5的配置文件和数据文件,执行以下命令:sudo apt-get purge python3.5sudo apt-get purge --auto-remove python3.5...转载 2020-11-19 14:08:37 · 7707 阅读 · 7 评论 -
python property属性
class T: @property def size(self): return 100t = T()print(t.size)原创 2020-07-12 16:16:46 · 138 阅读 · 0 评论 -
python 对象方法,实例方法,静态方法
class T: @classmethod def show_class(cls): print('class method') def show_obj(self): print('obj') @staticmethod def show_static(): print('static')#对象可以调用类方法,实例方法和静态方法,这里说的调用,指的是都不用传递参数,# python会自动传递参数过去t.原创 2020-07-12 11:46:21 · 144 阅读 · 0 评论 -
python 上下文管理器的ContextManage两种实现方式
from contextlib import contextmanager@contextmanagerdef my_open(path,mode): f=open(path,mode) yield f #myopen方法执行到这里 f.close()#出错后执行这里with my_open('out.txt','w') as f: f.write("hello,the simplest context manage")class File(object):.原创 2020-07-12 11:12:15 · 161 阅读 · 0 评论 -
python __dict__
1 输出类的__dict__class Test(object): def __init__(self,name): self.__name = nameprint(Test.__dict__){'__module__': '__main__', '__init__': <function Test.__init__ at 0x0000027DFE27D9D0>, '__dict__': <attribute '__dict__' of 'Test'.原创 2020-07-12 09:21:18 · 235 阅读 · 0 评论 -
python 名字重整,python的属性只是可见不可见,而不存在真正的私有公有
class Test(object): def __init__(self,name): self.__name = namea = Test('zs')print(a.__dict__) #名字重整print(a._Test__name)a.__name ='lisi'#只是新增了实例属性print(a.__dict__)原创 2020-07-12 09:13:45 · 198 阅读 · 0 评论 -
python MRO在继承中的使用
class Parent: x=1class Child1(Parent): passclass Child2(Parent): passprint(Parent.x,Child1.x,Child2.x)Child1.x=2print(Parent.x,Child1.x,Child2.x)Parent.x=3print(Parent.x,Child1.x,Child2.x)结果:原创 2020-07-12 07:56:42 · 177 阅读 · 1 评论 -
python args kwargs以实参传递相当于拆包
def test1(a,b,*args,**kwargs): print(a) print(b) print(args) print(kwargs)def test2(a,b,*args,**kwargs): print('test2') print('first run') test1(a,b,args,kwargs) print('second run') test1(a,b,*args,kwargs) print(.原创 2020-07-12 07:44:32 · 207 阅读 · 0 评论 -
python 多继承 mro问题
class Parent(object): def __init__(self, name, *args, **kwargs): print('parent start') self.name = name print('parent end')class Son1(Parent): def __init__(self, name, age, *args, **kwargs): print('son1 start') .原创 2020-07-12 07:11:52 · 124 阅读 · 0 评论 -
python 导入模块的问题
from xxx import yyyfrom xxx import *import xxximport有防止重新导入模块的功能,如果在运行过程中,对引用模块做了改动,则需要执行from imp import reloadreload(xxx)lib.pyage=10from lib import ageimport libage = 5 #定义的局部变量,而不是模块中的变量print(age)print(lib.age)...原创 2020-07-11 19:53:18 · 189 阅读 · 0 评论 -
python 私有化
1.xx,公有变量2 _x,单前置下划线,私有化属性和方法,from somemodule import * 禁止导入,类对象和子类可以访问3.__x,双前置下划线,无法在外部直接访问4.__x__,双前置双后置下划线,用户命名空间的魔法对象或属性5.x_,单后置下划线,避免和 python关键字冲突...原创 2020-07-11 18:55:16 · 164 阅读 · 0 评论 -
python 深拷贝 浅拷贝
1.b=a只是引用传递import copya=[11,22]b=aprint('a:%d'%id(a))print('b:%d'%id(b))2. copy.copy:产生了新的引用,但是浅复制,指向的是同一个对象import copya=[11,22]b=copy.copy(a)print('a:%d'%id(a))print('b:%d'%id(b))print('a[0]:%d'%id(a[0]))print('b[0]:%d'%id(b[0]))..原创 2020-07-11 18:15:43 · 159 阅读 · 0 评论 -
booktest35-自定义页面上传
1.添加视图函数def show_upload(request): return render(request,'booktest/upload_pic.html')def upload_handle(request): '''上传图片处理''' pic = request.FILES['pic'] #小于2.5M是InMemoryUploadedFile类型, # 大于2.5M为TemporaryUploadedFile类型 # class 'd原创 2020-07-05 20:46:11 · 235 阅读 · 0 评论 -
booktest34-后台上传图片
1.在static文件夹下新建media目录,并在其下面新建booktest目录,将来上传的图片就保存在这里2.在settings.py里面设置上传文件保存目录#设置上传文件的保存目录MEDIA_ROOT=os.path.join(BASE_DIR,'static/media')3 添加模型类class PicTest(models.Model): '''上传图片''' goods_pic=models.ImageField(upload_to='booktest'原创 2020-07-05 20:18:25 · 162 阅读 · 0 评论 -
booktest33-自定义后台管理页面
1.在templates文件夹下新建admin文件夹2.将D:\Project\Study\python\django_test\venv\Lib\site-packages\django\contrib\admin\templates\admin下面的base_site.html拷贝到admin下面3.修改该html{% extends "admin/base.html" %}{% block title %}{{ title }} | {{ site_title|default:_原创 2020-07-05 19:53:46 · 209 阅读 · 0 评论 -
booktest32-后台管理编辑页
1.修改模型管理类class AreaInfoAdmin(admin.ModelAdmin): #每页显示数目 list_per_page = 3 #显示列表里面可以添加方法 list_display = ['id', 'atitle','title','parent'] #列表下方增加操作下拉框 actions_on_bottom = True #列表框上面没有下拉列表框 actions_on_top = False #右侧的过原创 2020-07-05 19:44:58 · 187 阅读 · 0 评论 -
booktest31-管理后台列表页
1.修改AreaInfo模型类class AreaInfo(models.Model): #verbose_name设定字段列标题 atitle = models.CharField(verbose_name='标题', max_length=20) # 关系属性 aparent = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True) # class Meta:原创 2020-07-05 19:27:28 · 208 阅读 · 0 评论 -
booktest30-中间件2
1.在app目录下的middleware.py里面增加中间件类from django.http import HttpResponsefrom django.utils.deprecation import MiddlewareMixin# 中间件类class BlockedIPSMiddleware(MiddlewareMixin): EXCLUDE_IPS = ['127.0.0.1'] # 中间件函数 def process_view(self, reques原创 2020-07-05 17:25:55 · 145 阅读 · 0 评论 -
booktest29-中间件
1.如果禁止某个IP访问某个视图函数,在视图函数中加判断# EXCLUDE_IPS=['127.0.0.1']@blocked_ipsdef test_middelware(request): # userIp = request.META['REMOTE_ADDR'] # print(userIp) # #禁止某些IP访问 # if userIp in EXCLUDE_IPS: # return HttpResponse("<h1>Fo原创 2020-07-05 16:47:42 · 218 阅读 · 0 评论 -
booktest28-静态文件
1.静态文件的配置#设置访问静态文件对应的url地址# STATIC_URL = '/static/'STATIC_URL = '/abc/'STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]2.添加视图函数,显示静态页面,打印的部分可以打印出静态文件搜索的顺序from django.conf import settingsdef static_test(request):# ['django.contrib.staticfiles原创 2020-07-05 16:05:35 · 151 阅读 · 0 评论 -
booktest27-url反向解析
目的:根据url正则表达式的配置动态的生成url1)在项目urls中包含具体应用的urls文件时指定namespace2) 在应用的urls中配置时指定name3)模板文件中使用时,格式如下:{% url 'namespace名字:name' %}带位置参数{% url 'namespace名字:name' 参数%}带关键字参数{% url 'namespace名字:name' 关键字参数%}4)在视图函数中使用需要导入reverse函数,具体例子见下面1.添加视...原创 2020-07-05 15:37:33 · 184 阅读 · 0 评论 -
booktest26-验证码
1.增加视图函数def verify_code(request): import random bgcolor = (random.randrange(20, 100), random.randrange(20, 100), 255) width = 100 height = 25 # 创建画布 im = Image.new('RGB', (width, height), bgcolor) # 创建画笔 draw = ImageDraw.原创 2020-07-04 22:43:59 · 245 阅读 · 0 评论 -
python镜像仓库
官方库https://pypi.python.org/simple阿里云http://mirrors.aliyun.com/pypi/simple中国科技大学https://pypi.mirrors.ustc.edu.cn/simple豆瓣(douban)http://pypi.douban.com/simple清华大学https://pypi.tuna.tsinghua.edu.cn/simple中国科学技术大学http://pypi.mirrors.ustc.edu.cn...原创 2020-07-04 21:35:10 · 490 阅读 · 0 评论 -
booktest25-csrf
csrf能够成功的条件:1).登陆正常网站之后,浏览器保存sessionId,没有退出2).不小心访问了另外一个网站,并且点击了页面上的按钮1.login.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登陆页面</title></head><body><form me原创 2020-07-04 15:46:41 · 152 阅读 · 0 评论 -
booktest24-装饰器
1.修改login,login_check视图函数,当已经登陆成功,直接重定向到change_pwd.htmldef login(request): if request.session.has_key('islogin'): return redirect('/change_pwd') else: if 'username' in request.COOKIES: username = request.COOKIES['u...原创 2020-06-29 22:48:51 · 212 阅读 · 0 评论 -
booktest23-html转义
1添加视图函数def html_escape(request): return render(request,'booktest/html_escape.html',{'content':'<h1>hello</h1>'})2.新建视图模板<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Titl原创 2020-06-29 21:55:32 · 308 阅读 · 0 评论 -
booktest22-模板继承
1.新建base.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>{% block title %}父模板文件{% endblock title %}</title></head><body><h1>导航条</h1><h1>版权信息</h1&g原创 2020-06-29 21:39:23 · 157 阅读 · 0 评论 -
booktest21-记住登陆状态
1.修改login_check视图函数,登陆成功后,设置sessiondef login_check(request): username = request.POST.get('username') password = request.POST.get('password') remember=request.POST.get('remember') print(remember) # print(username + ":" + password)原创 2020-06-29 21:21:30 · 183 阅读 · 0 评论 -
booktest20-session
1def set_session(request): request.session['username']='smart' request.session['age']=18 return HttpResponse(request,'设置session')def get_session(request): username = request.session['username'] age=request.session['age'] print(原创 2020-06-27 22:44:41 · 202 阅读 · 0 评论 -
booktest19-记住用户名
1.修改login_check视图函数,用户名密码正确后,将用户名写入cookiedef login_check(request): username = request.POST.get('username') password = request.POST.get('password') remember=request.POST.get('remember') print(remember) # print(username + ":" + passwor原创 2020-06-27 22:20:02 · 157 阅读 · 0 评论 -
booktest18 cookie
1.添加视图函数from datetime import date,datetime,timedeltadef set_cookie(request): response = HttpResponse("设置cookie") response.set_cookie('num',1,max_age=14*24*3600) # response.set_cookie('num',1,expires=datetime.now()+timedelta(days=14))原创 2020-06-27 21:56:57 · 1047 阅读 · 0 评论 -
tcp文件发送和下载
import socketdef main(): # 1. 创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. 获取服务器的ip port dest_ip = input("请输入下载服务器的ip:") dest_port = int(input("请输入下载服务器的port:")) # 3. 链接服务器 tcp_socket.connect((.原创 2020-06-27 18:05:23 · 252 阅读 · 0 评论 -
python tcp 发送和接收
import socketdef main(): # 1. 创建tcp的套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. 链接服务器 # tcp_socket.connect(("192.168.33.11", 7890)) server_ip = input("请输入要链接的服务器的ip:") server_port = int(input("请输入要链接.原创 2020-07-25 14:44:21 · 533 阅读 · 0 评论 -
udp 发送和接收
import socketdef main(): # 创建一个udp套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: # 从键盘获取数据 send_data = input("请输入要发送的数据:") # 如果输入的数据是exit,那么就退出程序 if send_data == "exit": .原创 2020-06-27 17:42:12 · 384 阅读 · 0 评论 -
python 多值参数
def demo(num, *nums, **person): print(num) print(nums) print(person)# demo(1)demo(1, 2, 3, 4, 5, name="小明", age=18)原创 2020-06-27 14:04:30 · 139 阅读 · 0 评论 -
python 数据交换
a=5b=4a,b=b,aprint(a)print(b)原创 2020-06-27 13:57:58 · 293 阅读 · 0 评论 -
python for else
students = [ {"name": "阿土"}, {"name": "小美"}]# 在学员列表中搜索指定的姓名find_name = "张三"for stu_dict in students: print(stu_dict) if stu_dict["name"] == find_name: print("找到了 %s" % find_name) # 如果已经找到,应该直接退出循环,而不再遍历后续的元素 .原创 2020-06-27 13:49:38 · 142 阅读 · 0 评论 -
booktest-17 自定义过滤器 模板标签没有除法和取余函数
1.在app目录下新建包,包名必须为templatetags2.在该包下新建filters.pyfrom django.template import Library#创建一个libray的对象register = Library()#过滤器就是函数@register.filterdef mod(num): return num%2 == 03.修改temp_filter.html<!DOCTYPE html><html lang="en"&g原创 2020-06-26 22:49:42 · 174 阅读 · 0 评论 -
booktest-16模板过滤器 date length default
1.Vdef temp_filter(request): books = BookInfo.objects.all() print(books) return render(request,'booktest/temp_filter.html',{'books':books})2.T<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">原创 2020-06-26 22:22:50 · 188 阅读 · 0 评论