- 军军小站|张军博客
搜索到与相关的文章
Python

Python中实现参数类型检查的简单方法

Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应。比如,在声明一个函数时,不能指定参数的类型。用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的。Python自然没有类型强制转换一说了,因为它是动态语言。首先,所有对象都从Object继承而来,其次,它有强大的内省,如果调用某个不存在的方法会有异常抛出。大多数情况,我们都不需要做参数类型栓查,除了一些特殊情况。

系统 2019-09-27 17:47:04 1794

Python

python之zip压缩包爆破

importzipfileimporteasyguiasguifromthreadingimportThreaddefcrackPassword(zFile,password):try:zFile.extractall(pwd=password.encode("utf-8"))print("[+]crackpassword"+password)returnexcept(RuntimeError,zipfile.BadZipFile):print("密码:"

系统 2019-09-27 17:46:51 1794

Python

在Python中用has_key()方法查找键是否存在的教程

如果给定的键在字典可用,has_key()方法返回true,否则返回false。语法以下是has_key()方法的语法:dict.has_key(key)参数key--这是要搜索在字典中的键。返回值此方法返回true,如果给定键在字典可用,否则返回false。例子下面的例子显示了has_key()方法的使用。#!/usr/bin/pythondict={'Name':'Zara','Age':7}print"Value:%s"%dict.has_key('

系统 2019-09-27 17:46:48 1794

Python

在Python的Django框架中调用方法和处理无效变量

方法调用行为方法调用比其他类型的查找略为复杂一点。以下是一些注意事项:在方法查找过程中,如果某方法抛出一个异常,除非该异常有一个silent_variable_failure属性并且值为True,否则的话它将被传播。如果异常被传播,模板里的指定变量会被置为空字符串,比如:>>>t=Template("Mynameis{{person.first_name}}.")>>>classPersonClass3:...deffirst_name(self):...

系统 2019-09-27 17:46:44 1794

Python

Python命名空间详解

通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L

系统 2019-09-27 17:46:43 1794

Python

深入了解Python数据类型之列表

一.基本数据类型整数:int字符串:str(注:\t等于一个tab键)布尔值:bool列表:list(元素的集合)列表用[]元祖:tuple元祖用()字典:dict注:所有的数据类型都存在想对应的类列里二.列表所有数据类型:基本操作:•索引•切片•追加•删除•长度•切片•循环•包含listclasslist(object):"""list()->newemptylistlist(iterable)->newlistinitializedfromiterab

系统 2019-09-27 17:46:22 1794

Python

python-cookbook

PYTHON-COOKBOOK文章目录PYTHON-COOKBOOK一:数据结构和算法1、Heapq取出最大或最小的几个元素优先级队列2、字典多值字典字典排序字典列表排序字典共同点和不同点3、collections保留最后几个元素频率统计命名元组字典(映射)联合查找4、其他解压赋值去重且保持顺序切片分组一:数据结构和算法三个基本的写法:列表生成式字典生成式迭代器生成式1、Heapq取出最大或最小的几个元素#最大或者最小的n个元素importrandomfr

系统 2019-09-27 17:46:19 1794

Python

利用Python实现命令行版的火车票查看器

接口设计一个应用写出来最终是要给人使用的,哪怕只是给你自己使用。所以,首先应该想想你希望怎么使用它?让我们先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets好了。我们希望用户只要输入出发站,到达站以及日期就让就能获得想要的信息,所以tickets应该这样被使用:$ticketsfromtodate另外,火车有各种类型,高铁、动车、特快、快速和直达,我们希望可以提供选项只查询特定的一种或几种的火车,所以,我们应该有下面这些选项:-g高铁-d

系统 2019-09-27 17:46:17 1794

Python

Python过滤函数filter()使用自定义函数过滤序列实例

filter函数:filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。filter()函数有两个参数:第一个,自定函数名,必须的第二个,需要过滤的列,也是必须的DEMO需求,过滤大于5小于10的数:复制代码代码如下:#coding=utf8#定义大于5小于10的函数defguolvhanshu(num):ifnum>5andnum<10:

系统 2019-09-27 17:46:02 1794

Python

对于Python装饰器使用的一些建议

装饰器基本概念大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验,Cache等。Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:@function_wrapperdeffunction():pass@实际上是python2.4才提出的语法糖,针对python2.4以前的版本有另一种等价的实现:deffunction():passfunction=func

系统 2019-09-27 17:45:57 1794