
❤You need Python!
文章平均质量分 50
高岩_deal
is ME.
展开
-
【Django】如何使用Admin站点和Admin管理类
1.在settings.py中设置语言和时区LANGUAGE_CODE = 'zh-hans' # 设置语言TIME_ZONE = 'Asia/Shanghai' # 设置时间2.创建超级管理员首先cd到项目目录(在终端和pycharm的terminal都可以),执行命令:python manage.py createsuperuser根据提示,依次输入用户名,邮箱,密码(不能...原创 2018-12-20 10:58:22 · 623 阅读 · 0 评论 -
为什么 HTTP 有时候比 HTTPS 好?
我对原文的错别字进行了修改,避免产生歧义,原文地址,开源中国,https://www.oschina.net/translate/why-http-is-sometimes-better-than-https?lang=chs&p=1做为一家安全公司,我们在站点Stormpath上经常被开发者问到的是有关安全方面最优做法的问题。其中一个被经常问到的问题是:我是否应当在站点上运...转载 2018-12-22 20:44:00 · 514 阅读 · 2 评论 -
什么是敏捷开发?
目录敏捷开发概念举例原则总结敏捷开发概念敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。举例客人到餐馆来点菜(新项目)...原创 2018-12-22 21:36:46 · 242 阅读 · 0 评论 -
【Python】统计文本中单词的出现次数前十的单词
代码:# 读取一个文本,并且统计文本中单词的出现次数def read_file(): # 在windows环境中的编码问题,指定utf-8 with open('F:/python源码/实验区/002.txt', 'r', encoding='utf-8') as f: word = [] # 空列表用来存储文本中的单词 # re...原创 2018-12-23 10:58:39 · 18572 阅读 · 0 评论 -
【python】使用lambda匿名函数对列表进行排序:奇数在前偶数在后
方法1lambda中filter过滤之后得到一个对象,需要再转成列表,我只做了奇偶的排序,如果需要奇偶排序并且总体升序或降序,需要在lambda之前,先进行一下sort排序:b.sort()sort的参数默认为reverse = False 升序;True :降序b=[1,6,45,33, 22, 10]# 使用lambda,第一种方法,# 先筛选出所有偶数,m = list(fil...原创 2018-12-18 19:32:32 · 6624 阅读 · 0 评论 -
【Python】查询一个字符串中每个字符出现的次数
如题,给定一个字符串,如何知道这个字符串中每个字符分别出现的次数?方法1mylist = 'aslkd fhkl asjdfhials udhfiawu efsudhf'# 定义空字典count = {}# 遍历字符串for i in mylist: # 第一次查询到,计数:1 if i not in count: count[i] = 1 els...原创 2018-12-18 19:44:29 · 11736 阅读 · 0 评论 -
【图解HTTP】TCP/IP通信传输流过程及原理
上篇博客笔记为TCP/IP的分层管理,本篇博客为TCP/IP的通信传输流,即通信传输过程。把 TCP/IP 层次化是有好处的。比如,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动了。值得一提的是,层次化之后,设计也变得相对简单了。处于应用层上的应用可以只考虑分...翻译 2018-12-24 14:39:45 · 3649 阅读 · 0 评论 -
【Python】猜拳游戏(从列表中拿出指定个数元素)
头晕,写了一个python的趣味猜拳游戏?原理:用户输入:石头,剪刀,布定义一个保存,石头,剪刀,布的列表,每次随机拿出一个定义规则,进行比较4. 结果输出代码:while True: npc = ['石头', '剪刀', '布'] # 随机取出一个,注意:取出后是列表形式,如:['剪刀'],1代表个数 n = random.sample(npc, 1)...原创 2018-12-18 21:23:31 · 645 阅读 · 0 评论 -
【Python】字符串与列表的互相转换(整体转换,不分割)
字符串转列表要求转化之后,字符串在列表中是一个整体,不拆分str1 = 'helloworld'print(str1.split('这里传任何字符串中没有的分割单位都可以,但是不能为空'))# 输出:['helloworld']列表转字符串主要解决列表中有多个字符串,转化成字符串格式后,要拼接成一个整体方法1直接取出字符串进行拼接list1 = ['hello','...原创 2018-12-19 10:33:30 · 9880 阅读 · 0 评论 -
http与https的区别(表格版)不想删除
名称 HTTP HTTPS 概念 超文本传输协议(HyperText Transfer Protocol)所有的WWW文件都必须遵守这个标准,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。 超文本传输安全协议(Hypertext Transfer Protocol Secure) ...原创 2018-12-22 20:27:05 · 435 阅读 · 0 评论 -
【Django】省市区三级联动自关联表的分析
什么是省市区三级联动? 在收货地址的录入,考试考区的选择…等场景中都会用到省市区三级联动,即:页面加载后,向后端请求省份数据,用户选择省份后,向后端请求该省份的市级信息,当用户选择市级后,向后端请求该市下的所有区县信息,我们把这个过程称为省市区三级联动。如图:自关联表的形式以河北省举例,所有的省市区县信息全在一张表中,id为自增id,name为城市名,parent_id为关联外键...原创 2018-12-11 18:29:05 · 3232 阅读 · 0 评论 -
【Python】使用python实现汉字转拼音(2018.12更新)
在浏览博客时,偶然看到了用python将汉字转为拼音的第三方包,但是在实现的过程中发现一些参数已经更新,现在将两种方法记录一下。xpinyin在一些博客中看到,如果要转化成带音节的拼音,需要传递参数,‘show_tone_marks=True’,但我在实际使用时发现,已经没有这个参数了,变成了tone_marks,其它的参数和使用方法,一看就明白了,写的很清楚。看下源码:class Pin...原创 2018-12-14 21:26:31 · 21215 阅读 · 1 评论 -
【Python】列表去重方法
如题:python中列表去重,使用三种基础方法。使用集合集合中的元素是唯一的,所以利用集合进行去重list1 = [2, 3, 56, 5, 5, 3 ]def func1(list1): ''''' 使用集合 ''' return list(set(list1))使用列表推导式def func2(list1): ''''' 使用列表推...原创 2018-12-14 21:54:31 · 1136 阅读 · 2 评论 -
【Python】通过异或的方法交换a,b的值
python中一道经典的面试题:a = 3, b = 5,不使用中间变量交换 a 和 b 的值?最简洁的办法:a, b = b, a 使用异或,python中用^表示异或运算: 1、a = a ^ b 2、b = b ^ a 3、a = a ^ b内部实现:a = 3, b = 5转换为二进制:a = 011, b = 1011、a = a ^ ba...原创 2018-12-15 16:09:47 · 1756 阅读 · 0 评论 -
【Python】对并行和并发的通俗解释
并发以一个放慢的场景来理解:你和小明共有一辆车,现在你要用车去跑滴滴,小明要开车去谈生意,此时两件事不能同时进行,只能一件干完了再去做另一件,交替执行,这就是并发。再来一个加快的场景:小明一边看电视一边玩手机,表面上小明似乎在同时看电视和玩手机,其实不然,不过是因为小明的眼睛能以很快的速度在手机屏幕和电视屏幕间来回切换,造成了同时进行的假象,小明的眼睛并不能同时盯着手机和电视的屏幕,其实还是...原创 2018-12-15 16:35:46 · 521 阅读 · 0 评论 -
在线加密解密工具
☞http://tool.oschina.net/encrypt一个在线加解密工具,界面如图:原创 2018-12-16 08:55:18 · 35889 阅读 · 0 评论 -
前后端分离与不分离的区别
前后端不分离概念在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。前后端分离概念前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据展现都是后端通过异步接口(AJAX/JSONP)的方式提供的,前端只管...原创 2018-12-10 21:58:57 · 20411 阅读 · 6 评论 -
【Flask】个人博客、资讯项目关键点总结
图片验证码uuid:前端js生成,时间戳+机器码+随机数,(image_code_id)图片验证码:captcha生成,→name,text,image在redis中保存图片验证码文本,(uuid,过期时间,text)向前端返回图片验证码的图片,response = make_response(image)发送短信从redis获取真实验证码,读完之后删除,先比较图片验证码:...原创 2018-12-27 19:00:51 · 424 阅读 · 0 评论 -
TCP与UDP的区别(表格版)
名称 UDP TCP 概念 英文全拼(User Datagram Protocol)简称用户数据报协议,它是无连接的、不可靠的网络传输协议 英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输层通信协议 生活场景举例 写信(面向无连接,‘收信人’可能不存在) 打电话(面向...原创 2018-12-22 16:21:30 · 1291 阅读 · 0 评论 -
淘宝如何解决超卖问题
这篇文章是我从某文库爬下来的,放在这里供大家学习。淘宝超卖现象的产生及解决方案一、什么是超卖现象? 超卖即“超卖缺货”,当宝贝库存接近0时,如果多个买家同时付款购买此宝贝,将会出现“超卖缺货”现象。产生超卖缺货这种情况是商家无法控制的,并且发生这种情况的概率极低。 二、电子商务的主交易流程: 1,查询商品 2,创建订单 3,扣减库存 4,更新订单 5,付款 6,卖家发货 (1)...转载 2018-12-29 20:57:02 · 18518 阅读 · 0 评论 -
京东、淘宝的减库存操作,加购物车时减?创建订单时减?
前几天,在浏览京东购物车时,我的购物车内有一件商品刚好显示库存为:仅剩1件,所以就探索了一下商城网站的减库存操作。具体过程首先购物车中是这样的:找到这件商品继续加购物车,看是否成功:我发现,无论加几件到购物车,仍然显示只剩一件,我共加了四件到这里,可以确认在加购物车时,库存是没有减的。然后我点击了去结算,这时让我填写订单内容,即收获地址之类的内容,此时再看这件商品,仍然显...原创 2018-12-29 21:57:15 · 6867 阅读 · 0 评论 -
【Python】不使用迭代生成器生成斐波那契数列,并大幅降低时间复杂度
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........这个数列从第3项开始,每一项都等于前两项之和。方法一:递归,复杂度高,从第一个斐波那契数开始,直到生成你需要的斐波那契数具体代码和测...原创 2019-01-04 21:59:15 · 537 阅读 · 2 评论 -
【Python】函数装饰器、类装饰器的实现
什么是装饰器装饰器本身是一个函数 ,作用是为现有存在的函数,在不改变函数的基础上去增加一些功能进行装饰,装饰器是通过闭包的形式实现的。我另一篇博客:☞闭包的实现原理,如何在内部函数修改外部函数的变量函数万能装饰器这个装饰器只是一种形式,没有实际意义。# 定义万能函数装饰器def outFunc(func): # 接收不同的参数 def wrapper(*args, **...原创 2019-01-20 12:43:58 · 907 阅读 · 0 评论 -
Django到底是MVC还是MVT?以及MVC和MVT的区别
最近一直被一些问题所困惑:Django是遵循MVC还是MVT?MVC和MVT到底有哪些区别?MVC可以继续拆分吗?在网络上浏览了很多无关痛痒的文章,无非是M、V、C分别代表什么,M、V、T又分别代表什么,这些表层的解释对程序员来说非但不会解决问题,反而还会增加困惑。所以,在查了一些资料之后,在个人理解的基础上,进行总结,记住,这只是个人观点和立场。MVC是怎么来的?是什么?最开始MVC是一种...原创 2019-01-15 12:32:03 · 8969 阅读 · 6 评论 -
【Django】项目开发准备之前端文件开发预览live-server服务器的安装
在前后端分离开发中,需要单独将前端文件用前端静态文件服务器运行起来。前端静态文件服务器的安装安装node.js的版本控制工具nvm,在终端中执行curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash 重新进入终端,使用nvm安装最新版本的node.jsnvm i...原创 2019-01-16 16:25:06 · 645 阅读 · 0 评论 -
【Django】项目开发准备之创建应用时自动生成urls,serializers等文件的配置
在进行开发创建子应用时,为了能够自动生成urls、serializers等文件,需要进行如下配置:在app_template文件夹下添加当创建子应用时需要自动被创建的文件,以serializers.py举例:配置完成后,再次创建子应用时,添加的文件会被自动创建。...原创 2019-01-16 17:09:26 · 775 阅读 · 0 评论 -
【Django】项目开发准备之settings目录文件的创建配置
当前项目结构:在开发时,配置信息不能放在settings文件中了,需要创建settings包,如图:创建完成:然后将原settings.py文件中的内容复制到新settings包下的dev.py中,删除settings.py文件。注意:现在启动项目是找不到我们的配置文件的,还需要做如下配置:进入manage.py更改配置文件路径,...原创 2019-01-16 17:37:31 · 1233 阅读 · 1 评论 -
【Python】关于list的面试坑
首先,有一个函数:def extendList(val, list=[]): list.append(val) return list1.调用函数并输出,如下:list1 = extendList(10)print(list1)----------------------# 输出结果[10]2.然后再次调用并输出,如下(对这个结果并没有疑问):li...原创 2019-02-13 12:40:21 · 726 阅读 · 0 评论 -
【Python】使用Counter方法统计字符串每个字符出现的次数
from collections import Countera = "a;lskdh!`foiegn``as;ldnf,asd.121,2ljladsfkja`sdijfhaosjlfd,gjsdfg.as.dl"b = Counter(a)print(b)-------------------------------Counter({'s': 8, 'd': 8, 'a': 7...原创 2019-02-13 15:39:48 · 5025 阅读 · 0 评论 -
【Python】时间戳的格式化输出
将当前时间按照“2019-02-25 10:26:55”输出:import datetimenow_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")print(now_time)---------------------输出:2019-02-25 11:19:17输出当前是星期几,格式:星期:4n...原创 2019-02-25 11:23:57 · 2030 阅读 · 0 评论 -
【Python】闭包的实现原理,如何在内部函数修改外部函数的变量
什么是闭包?闭包是指在一个函数中定义了一个另外一个函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 。闭包的使用,可以隐藏内部函数的工作细节,只给外部使用者提供一个可以执行的内部函数的引用。注意:装饰器是用于拓展已有函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,实际上就是利用闭包语法实现的。在Pyhton中,函数也是一个对...原创 2019-01-19 17:45:16 · 7657 阅读 · 6 评论 -
【Python】with语句的执行原理以及内部对异常的处理
with语句with 语句是 Pyhton 提供的一种简化语法,with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源。比如文件使用后自动关闭、数据库的打开和自动关闭等。,with 语句在编写代码时,会使代码变得更加简洁。with语句的执行原理with...原创 2019-01-19 16:04:32 · 1258 阅读 · 0 评论 -
web server调优的几种方式
通过反向代理来提高性能和增加安全性使用反向代理服务器可以将应用服务器从等待用户与 web 程序交互解放出来,这样应用服务器就可以专注于为反向代理服务器构建网页,让其能够传输到互联网上。而应用服务器就不需要等待客户端的响应,其运行速度可以接近于优化后的性能水平。添加负载平衡负载均衡服务器首先是一个反向代理服务器,它接受来自互联网的流量,然后转发请求给另一个服务器。特别是负载均衡服务器支持两个...转载 2019-01-10 17:15:46 · 1039 阅读 · 0 评论 -
【Flask】Flask项目加载配置的三种方式
1、从配置对象中加载(常用)# 创建config.py文件# 配置对象,里面定义需要给 APP 添加的一系列配置class Config(object): DEBUG = True# 创建 Flask 类的对象,指向程序所在的包的名称app = Flask(__name__) # 从配置对象中加载配置app.config.from_object(Confi...原创 2018-12-26 11:27:57 · 1052 阅读 · 0 评论 -
【Python】import与from import真的是浅拷贝和深拷贝吗
最近在准备面试,回头看python基础的过程中,遇到一些小问题。模块的搜索顺序是:当前程序所在目录 当前程序根目录 PYTHONPATH 标准库目录 第三方库目录site-packages目录path 变量本质是一个列表,可以向path中添加模块所在的目录:sys.path.append('/Users/KG/Desktop')import与from import的区别i...原创 2019-01-10 22:04:36 · 1569 阅读 · 0 评论 -
【Python】各位大佬帮忙看一下,这怎么就线程不安全了?
在准备面试的过程中,看到网络上很多关于单例模式的线程不安全方面的知识如下,一个单例模式:class Singleton(object): """ 单例 """ isinstance = None def __new__(cls, *args, **kwargs): if cls.isinstance is None: ...原创 2019-01-11 11:49:34 · 520 阅读 · 2 评论 -
【Python】电商网站如何解决秒杀高并发超卖问题
搜集了一些解决秒杀、高并发、超卖、问题的思路,仅供参考!抢订单环节一般会带来2个问题: 1、高并发 比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。 2、超卖 任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这是每个抢购活动都要面临的难题。1、前端 面对高并发的抢购活动,前端常用的三板...原创 2019-01-02 14:50:41 · 3581 阅读 · 0 评论 -
【shell】对指定文件夹中文件进行过滤,并修改文件内容的shell脚本
编写shell脚本,对某个文件夹内搜索指定文件并对文件内容进行更改:在桌面创建shell_test文件夹 进入shell_test文件夹,创建5个测试文件在shell_test文件夹中再创建一个666文件夹,继续再创建5个文件,如图:分别在每文件中写入内容:The moon is so round tonight,查看文件内容: 任务:搜索所有名为‘file...原创 2019-01-02 20:50:11 · 7206 阅读 · 2 评论 -
python2和python3的区别表格版
区别点 python2 python3 print 是一个语法结构,print 'hello world',print("hello world")都可以 是一个函数,print("hello world") 编码问题 pyhton2诞生的时候没有Unicode,所以python2使用的默认编码格式是asscii编码,这也是python2经常出现编码问题的原因...原创 2019-01-07 21:56:08 · 2022 阅读 · 0 评论 -
【python】同步/异步与阻塞/非阻塞,get/post,__new__/__init__,async/await相关概念
同步/异步与阻塞/非阻塞同步和异步关注的是消息通信机制. 同步异步指的是调用者与被调用者两者之间的关系,而不是经常容易误解的多个被调用者之间的关系。 同步就是当一个进程发起一个函数(任务)调用的时候,一直等到函数(任务)完成,而进程继续处于激活(非阻塞)状态。而异步情况下是当一个进程发起一个函数(任务)调用的时候,不会等函数返回,而是继续往下执行,当函数返回的时候通过状态、通知、事件等方式...原创 2019-01-18 19:48:01 · 2070 阅读 · 0 评论