- 博客(11)
- 收藏
- 关注
原创 session与cookie的区别和联系
session和cookie的区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问量增多,会增加服务器的负担,考虑到这方面,应当使用cookie。4、单个cookie保存的数据不能超过4K...
2019-07-18 21:23:54
176
原创 python中的普通方法、类方法和静态方法的区别
面试中遇到这个问题,现在来总结一下普通方法:默认有个self参数,只有类的对象可以调用类方法:需要加上@classmethod装饰器,默认cls参数,可以被类和对象调用静态方法:用@staticmethod装饰器,类的静态方法没有参数,可以直接使用类名调用不管是普通方法还是类方法,默认的self和cls参数都是可以自定义的,不过一般都是使用默认。class Test(object): ...
2019-07-18 20:46:57
1043
原创 python中__slots__的用法和类名不加括号
python中每个类都有实例属性,默认情况下python使用一个字典来保存一个对象的实例属性,这非常有用,这样我们就可以在运行时去设置任意的新属性然而,在已知属性的类来说,字典浪费了很多内存。所以我们用__slots__告诉python不要使用字典,而是使用一个固定集合的属性分配空间。在我们不使用__slots__时class Test(object): def __init__(s...
2019-07-17 21:47:58
300
原创 面试题:写一个二分搜索树(Binary Search Tree),至少实现查找、删除和插入功能
二叉树具有天然递归结构一个节点也是二叉树NULL也是二叉树二分搜索树是二叉树每个节点的左子树也是二叉树每个节点的右子树也是二叉树二分搜索树的每个节点的值:大于其左子树所有节点的值小于其右子树所有节点的值...
2019-07-16 22:18:52
414
原创 面试题:四人过桥
四个人(A、B、C、D)过桥,只有一个手电筒(只剩17分钟的电),桥只能同时承受两个人的重量,且过桥必须要有手电筒。A、B、C、D过桥时间分别为1、2、5、10,问怎么在17分钟内让四人全部过桥?思路:需要时间短的送手电筒,所以只能选择1分钟和2分钟的先去到对面以便送手电筒。解答1、2分钟的先过桥,然后1分钟的把手电筒带过来----------------------------用时3分钟...
2019-07-16 13:56:49
754
原创 面试题:小明爬楼梯,一次只能上1级或者2级台阶,一共有n级台阶,一共有多少种方法上台阶?python实现
在面试中遇到的一个题,现在记录下来解决办法。如果有一级台阶,方法只有1种如果有两级台阶,则有2种方法当级数为n的时候有以下两种情况:1、第n级台阶时是在n-1级上1级上来的2、第n级台阶时是在n-2级上2级上来的可以使用递归实现。def upstairs(num): if num==1: return 1 if num==2: retu...
2019-07-15 13:38:48
23726
原创 python中可迭代对象、迭代器、生成器的区别和联系
在面试中我遇到这个问题,当时没想起来太多,一时之间讲的也不太好。我感觉应该将面试中遇到的问题记录下来,免得再次犯错。迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有元素被访问完结束。迭代器只能往前不能后退。1、可迭代对象以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、s...
2019-07-14 16:32:39
386
原创 python的栈实现及括号匹配问题
栈是一种先进后出(FIFO)的数据结构,是一种特殊的列表,只能访问栈顶元素。栈通常的操作Stack() //创建一个栈isEmpty() //判断栈是否为空,是则返回True,否则返回Falsepeek() //返回栈顶元素size() //返回栈的大小push() //往栈中添加元素,也叫入栈pop() //删除栈顶元素,也叫出栈用...
2019-06-22 20:30:09
1821
转载 linux换源
linux系统一般都是官方源,也就是国外的,下载速度可能不尽人意,所以就有了国内源。我在这里用清华源做示范来换源,我分别用ubuntu:16.04和centos7.2来演示ubuntu:16.04:cd /etc/apt#将sources.list备份为sources.list.baksudo cp sources.list sources.list.bak#编辑source.lis...
2019-05-18 16:04:03
1023
原创 centos7.2和ubuntu:16.04中安装python虚拟环境
上一篇文章说了怎么在虚拟机中python3,而在安装了python3之后因为工作环境需要,我们需要安装虚拟环境来为不同的项目分配不同的环境,下面我分别在ubuntu:16.04和centos7.2(以下简称ubuntu和centos)安装:安装python-virtualenvsudo apt-get install python-virtualenv #ubuntusudo yum -...
2019-05-15 18:28:31
260
原创 linux系统安装python3的步骤
最近在学python,所以在这里分享一下学习过程遇到的问题和收获首先,既然要学python那肯定要先安装python了,linux系统一般自带python2,不过现在绝大部分都是使用python3来做开发,所以我们就要安装一个python3的版本来供我们学习使用。我这里是使用下载源码包来进行安装的,我感觉这种方法比较好,这样我们可以看一下python内部的功能源码,对我们以后有很大的好处。下...
2019-03-06 14:45:32
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人