- 博客(29)
- 收藏
- 关注
原创 python枚举——enum库
文章目录EnumDerived EnumerationsIntEnum改进枚举是符号名绑定唯一常量值集合。在枚举中,成员之间可以通过标识符比较,也能迭代枚举所有成员。因为Python没有枚举语法,因此这个库是对枚举的补充。枚举的特点:唯一,常量(值只可读)。不同类型的枚举不能互相比较(只能判断是否相等,不能进行大小判断)或者赋值,因为类型不符。拥有类型,不符合类型的操作会不通过编译或抛出异常。不能引用非枚举的值。在Python中不能初始化一个非枚举值的对象。这里只介绍Enu
2021-12-27 11:25:19
2345
原创 python深浅拷贝——copy库
文章目录浅拷贝深拷贝Python中的赋值表达式并不会赋值对象,只是创建目标和对象之间的绑定。本模块提供通用浅和深拷贝操作。浅拷贝和深拷贝只和复合对象有关:浅拷贝构造一个新的复合对象,然后(在可能的范围内)向其中插入对原始对象中的对象的引用。深拷贝构造一个新的复合对象,然后递归地向其中插入对原始对象的复制(不同于原对象)。两个常见于深拷贝而不存在于浅拷贝的问题:递归对象(那些直接或间接包含自身引用的复合对象)可能导致递归循环。因为深拷贝复制任何内容,它可能复制太多内容,而这些内容可能用于在
2021-12-07 19:14:08
1723
原创 collections库
文章目录ChainMap objectsChainMap Examples and Recipes模拟Python内部查询链让用户指定的命令行参数优先于环境变量,而环境变量又优先于默认值模拟嵌套上下文Counter objectsdeque objectsdeque Recipes类似Linux下tail的功能维护最近添加的元素实现轮询调用实现deque切片和删除元素defaultdict objectsdefaultdict Examples根据key增长列表计数器更通用的常量工厂字典集合namedtup
2021-11-22 20:45:50
476
原创 werkzeug源码分析:routing(路由)
werkzeug的routing模块探究怎么根据请求信息寻找对应的处理函数,这就需要路由功能,routing模块的功能就是提供路由,主要有三个重要的类组成,下面逐个分析:RuleRule类主要用于存储单个路由规则,定义了url和endpoint的映射,同时能指定允许的请求方法。__init__方法主要做这些初始化。@implements_to_stringclass Rule(RuleF...
2020-02-17 16:56:10
575
原创 werkzeug源码分析:Response
werkzeug提供了Response类封装响应。位于werkzeug.wrappers模块里。源码分析class Response( BaseResponse, ETagResponseMixin, ResponseStreamMixin, CommonResponseDescriptorsMixin, WWWAuthenticateMixin,):...
2020-01-28 20:29:29
1058
原创 werkzeug源码分析:Request
werkzeug的Request探究werkzeug提供了Request类封装请求。位于werkzeug.wrappers模块里。class Request( BaseRequest, AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthorizationMixin, CommonRequestD...
2020-01-19 01:59:27
492
原创 werkzeug库入门
werkzeug库入门简介werkzeug German noun: “tool”. Etymology: werk (“work”), zeug (“stuff”)Werkzeug is a comprehensive WSGI web application library. It began as a simple collection of various utilities fo...
2020-01-13 01:14:47
623
原创 NFS的配置
两台主机系统:CentOS7,内核3.10.0-957服务端:192.168.11.140客户端:192.168.11.1411、安装NFSyum -y install nfsyum -y install rpcbind2、配置服务端vi ./etc/exports/data *(rw) # 共享/data资源路径,*表明接收所有的ip地址,rw表示允许客户端读写,更多参数参考...
2019-03-19 14:20:49
180
原创 mysql结合keepalived主从复制
主机 Mysql版本 系统 Ip VipDB0主服务器(写) 5.5.60 CentOS 7 192.168.11.140 192.168.11.185DB1从服务器(读写) 5.5.60 CentOS 7 192.168.11.141 1、修改mysql配置文件/etc/my.cnf在[mysql]下加上server-id=1 # 主服务器DB0,从服务器DB...
2019-03-14 21:19:49
349
原创 单例模式python实现
单例模式的意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。【1】1.最简单的单例模式。【2】class Singleton(object): def __new__(cls): if not hasattr(cls, 'instance'): cls.instance = super(Singleton,cls).__new__(cl...
2019-01-19 15:09:20
1007
原创 二叉搜索树(BST)的4种遍历python实现
前序遍历方法:递归1、遍历根节点2、前序遍历左子树3、前序遍历右子数def preorder(node1): list1 = [] def recurse(node2): if node2: list1.append(node2.data) recurse(node2.left) recurse(node2.right) recurse(node1) ret...
2018-12-21 14:35:53
1370
1
原创 python2和python3下字典键值搜索的速度比较
python2python2下,若求字典的键、值、键值对,keys(),values(),items(),返回的都是列表。若要在里面搜索,则要遍历列表,速度比较慢。>>> a={1:'a',2:'b'}>>> a{1: 'a', 2: 'b'}>>> b=dict(zip([1,2],['a','b']))>>> ...
2018-11-30 21:35:46
2659
4
原创 Linux程序设计第二版练习题(第八章)
1、Fibonacci序列为0,1,1,2,3……,通常,……#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>int arr_fib[100];int fib(int n){ if(n==0) return 0; else i...
2018-10-31 17:54:07
905
原创 Linux程序设计第二版练习题(第七章)
1、设计一个程序,要求程序运行后进入一个无限循环,当用户按下中断键(+Z)时,进入程序的自定义信号处理函数,当用户再次按下中断键(+Z)后,结束程序运行。#include <stdio.h>#include <signal.h>#include <unistd.h>#include <stdlib.h>void fun_ctrl_z();...
2018-10-31 17:48:55
4877
原创 Linux程序设计第二版练习题(第五章)
很久以前的学习过的一本书,这部书比较基础。以下只是个人的做法,仅供参考。1、设计一个程序,要求打开文件“pass“,如果没有这个文件,权限设置为只有所有者有只读权限。#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <sys/types.h>#include...
2018-10-31 17:40:56
7303
原创 数据结构(python语言描述)第四章答案
以下是个人做法。仅作参考练习4.33、# -*- coding=utf-8 -*-__author__ = 'junhao'__date__ = '2018/9/30 10:41'"""File: arrays.pyAn Array is like a list, but the client can use only [], len, iter, and str.To i...
2018-10-16 22:38:52
1908
原创 Django与爬虫结合做一个简易的电影资源网站
之前帮别人做的demo。只做展示记录一下。目录1、先爬取电影资源信息2、根据爬到的内容创建一个django项目展示先写个model再写个views配置好路由之后写好前端即可。3、效果展示首页最新影片影片详细国内影片:搜索功能1、先爬取电影资源信息采用requests获取内容,lxml解析,把爬到的内容写入数据库。2、根据爬到的内容创建...
2018-09-15 10:47:47
2716
1
原创 Django分页(二)基于类视图分页
原来是基于函数视图分页的,现在改为类视图分页,之前的操作请参考Django分页(一)基于函数视图分页1、重写views.pyviews.pyfrom django.shortcuts import renderfrom django.views.generic import ListViewfrom .models import StudyMsg# 基于类视图分页cl...
2018-09-08 15:16:42
1197
原创 Django分页(一)基于函数视图分页
1、首先创建一个django工程,并新建一个app2、写modelmodels.pyfrom django.db import modelsclass StudyMsg(models.Model): name = models.CharField(max_length=20, verbose_name="名字") chinese = models.Integer...
2018-09-08 12:13:48
706
原创 Django用邮箱和手机号登录
1、由于原来的User Model没有手机号字段。因此要扩展User model。只要继承AbstractUser类即可。from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass UserProfile(AbstractUser): nick_name = mo...
2018-09-05 23:03:43
2369
原创 Django用户登录和注销(三)
基于类视图和forms。1、在users.py的app新创一个python文件,命名为forms.pyfrom django import formsclass UserForm(forms.Form): username = forms.CharField(required=True) password = forms.CharField(min_length=5...
2018-09-05 21:34:46
260
原创 Django用户登录和注销(二)
基于类视图和标准前端1、基于类视图写views.py继承django.views.View,重写里面的get和post方法,用户登录和注销的逻辑和基于函数写视图一样。from django.shortcuts import render, redirectfrom django.urls import reversefrom django.contrib.auth import ...
2018-09-05 20:43:16
465
原创 Django用户登录和注销(一)
基于函数和标准前端1、写好views.py函数django.contri.auth 内置authenticate, login ,logout。authenticate能验证用户信息是否正确,成功返回该用户,否则返回Nonelogin,logout分别用于登录和注销from django.shortcuts import render, redirectfrom djang...
2018-09-04 23:20:06
829
原创 Django后台管理工具xadmin
1、先创建一个Django项目2、进入虚拟环境安装xadminDjango2的pip安装pip install https://codeload.github.com/sshwsfc/xadmin/zip/django23、(推荐)也可以直接源文件作为一个app使用。先到github下载源文件,把里面的xadmin文件夹直接放到extra_apps里,这样的话要安装依...
2018-09-04 18:55:15
834
原创 用python在b站买楼(评论抢一楼)
该脚本能实现在b站买房。只需输入cookie(模拟登录)、up主的uid和评论即可。因为直接登录比较麻烦,本来就是个简易脚本,因此采用cookie登录获取cookie的方法:先用浏览器登录一遍b站再用浏览器打开:https://api.bilibili.com/x/v2/reply/add然后调出开发者工具,chrome的快捷键是F12,其他浏览器度娘去。然后刷新一下,...
2018-07-21 18:49:18
1819
1
原创 阿里云mysql的部署
并不介绍远程连接服务器了。只是简单介绍一下如何部署。以学生服务器为例子。现在的学生服务器为轻量服务器。1、首先设置好阿里云的服务器端口开启。进入自己的服务器管理控制台,找到防火墙,然后添加规则。mysql默认端口为3306。开始服务器并没有安装mysql。2、安装 mysql-client-core-5.7sudo apt-get install mysql-clie...
2018-07-21 12:38:02
1662
原创 7.1 写可复用的apps
很有必要在别的项目中使用已经写过的apps先安装一些必要的模块。如setuptools打包你的app1.先在Django 项目的外部为polls创建一个父目录,命名为django-polls2.把原来的polls移到django-polls目录下3.创建一个django-polls/README.rst文件=====Polls=====Polls is a simple Django ap...
2018-07-01 19:21:20
114
原创 基于string下标和replace函数替换string中的字符
在学习C++ primer时,有一个练习需要这样做,查看答案时发现用了后面的内容find()函数,但之前自己想的算法并没有find。#include"iostream"#include"string"using namespace std;void sreplace(string &s, const string &oldVal, const string &new
2017-09-30 15:24:59
4181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人