编程技术

第二章 身份验证——《跟我学Shiro》

目录贴:跟我学Shiro目录贴身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。在shiro中,用户需要提供principals(身份)和credentials(证明)给shiro,从而应用能验证用户身份:principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,但只有一个Primaryprincipal

系统 2019-08-29 22:00:47 1915

Python

python 面向对象之封装

封装面向对象三大特性:继承封装多态隐藏对象的属性和实现细节,仅对外提供公共访问方法广义上的封装:把方法和变量都封装在类中狭义上的封装:在类的外部干脆不能调用了优点将变化隔离便于使用提高复用性提高安全性封装原则:将不需要对外提供的内容隐藏起来把属性都隐藏,提供公共方法对齐访问私有变量和私有方法在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)代码实例#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的

系统 2019-09-27 17:56:45 1914

Python

详谈Python2.6和Python3.0中对除法操作的异同

Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。X/Y类型:在Python2.6或者之前,这个操作对于整数运算会省去小数部分,而对于浮点数运算会保持小数部分;在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。示例代码:Python2.7版本中结果:>>>3/21>>>3/2.01.5>>>4/22>>>4/2.02.0Python3.4版本中结果:>>>3/

系统 2019-09-27 17:55:54 1914

Python

跟老齐学Python之关于循环的小伎俩

不是说while就不用,比如前面所列举而得那个猜数字游戏,在业务逻辑上,用while就更容易理解(当然是限于那个游戏的业务需要而言)。另外,在某些情况下,for也不是简单地把对象中的元素遍历一遍,比如有有隔一个取一个的要求,等等。在编写代码的实践中,为了对付循环中的某些要求,需要用一些其它的函数,比如前面已经介绍过的range就是一个被看做循环中的计数器的好东西。range在《有容乃大的list(4)》中,专门对range()这个内置函数做了详细介绍,看官

系统 2019-09-27 17:55:50 1914

Python

Python函数装饰器原理与用法详解

本文实例讲述了Python函数装饰器原理与用法。分享给大家供大家参考,具体如下:装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等应用场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外

系统 2019-09-27 17:55:08 1914

Python

详解Python中的测试工具

当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐。在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程,比如:unittest:一个通用的测试框架;doctest:一个更简单的模块,是为检查文档而设计的,但也非常适合用来编写单元测试。下面,笔者将会简单介绍这两个模块在测试中的应用。doctestdoctest模块会搜索那些看起来像是python交互式会话中的代

系统 2019-09-27 17:55:04 1914

Python

python 日期排序的实例代码

问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','1989-3-7','2010-1-5','978-12-1','2010-2-4')参照方法1问题2:如果日期中没有千年以前的情况,做法就很多了。参照方法2和方法3#-*-coding:utf-8-*-importtimefromoperatorimportitemgetterarr=('2010-11-23','1989-3-7','2010-1-5','978-1

系统 2019-09-27 17:54:50 1914

Python

Python 字符串、列表、元组的截取与切片操作示例

本文实例讲述了Python字符串、列表、元组的截取与切片操作。分享给大家供大家参考,具体如下:demo.py(字符串、列表、元组的截取):#切片(截取)[开始索引:结束索引:步长]步长默认为1结束索引默认截取到末尾#字符串的截取print("012345"[1:3])#12#列表的截取print([0,1,2,3,4,5][1:3])#[1,2]#元组的截取print((0,1,2,3,4,5)[1:3])#(1,2)#字典的元素是无序的,没有索引,所以不

系统 2019-09-27 17:54:29 1914

Python

安装 python virtualenv 虚拟环境

1.工具包安装pipinstallvirtualenv|sudoapt-getinstallpython-virtualenv2.创建虚拟环境#virtualenv/system_python_bin_path/your_virenv_local_pathvirtualenv-p/usr/bin/python2.7/usr_local_path#创建链接sudoln-sf/usr_local_path/bin/activatetf_activatesudo

系统 2019-09-27 17:54:23 1914

Python

利用python获取当前日期前后N天或N月日期的方法示例

前言最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧。示例代码:#-*-coding:utf-8-*-'''获取当前日期前后N天或N月的日期'''fromtimeimportstrftime,localtimefromdatetimeimporttimedelta,dateimportcalendaryear=strftime("%Y",localtime())mon

系统 2019-09-27 17:54:18 1914

Python

25、Python快速开发分布式搜索引擎Scrapy精讲—Requests请求

【百度云搜索,搜各种资料:http://www.lqkweb.com】【搜网盘,搜各种资料:http://www.swpan.cn】Requests请求Requests请求就是我们在爬虫文件写的Requests()方法,也就是提交一个请求地址,Requests请求是我们自定义的**Requests()方法提交一个请求参数:url=字符串类型url地址callback=回调函数名称method=字符串类型请求方式,如果GET,POSTheaders=字典类型

系统 2019-09-27 17:54:11 1914

Python

python实现罗汉塔破解方法

主要使用函数的递归方法,考虑过程如下:n,a,b,c(n代表罗汉塔块数,a,b,c代表三块柱子)若n=1时,只需从a》》》c若n>1时,需要把上面n-1块从a移动到b,底下1块从a移动到c,再把b上n-1移动到c函数实现如下:defmove(n,a,b,c):ifn==1:print(a,'>>>',c)else:move(n-1,a,c,b)move(1,a,b,c)move(n-1,b,a,c)print(move(3,'a','b','c'))

系统 2019-09-27 17:53:43 1914

Python

Python计算程序运行时间的方法

本文实例讲述了Python计算程序运行时间的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:importtimedefstart_sleep():time.sleep(3)if__name__=='__main__':#Thestarttimestart=time.clock()#Aprogramwhichwillrunfor3secondsstart_sleep()#TheEndtimeend=time.clock()print("The

系统 2019-09-27 17:53:31 1914

Python

CSDN今年吹python吗

又见一堆PYTHON高薪,前景好,年薪破百万,反正不会落到我们头上,看看就好(如果说python在这里下了广告,我是信得)CSDN这个狡猾小精灵,每年总要吹那么一种语言或技术,然后不到半年就忘光了,是的,半年后,只字不提记得去年是吹的人工智能,至于用什么语言,反正好像CSDN自己也没搞懂,我们这些博主也没搞懂,所以就随便粘贴国外大牛的文章宣传了半年其实有点见怪不怪其实最好的开源论坛不是CSDN某一种语言,基于最深入探讨的论坛也不是CSDN有点可悲的是,一般

系统 2019-09-27 17:53:00 1914