如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except .........: do something ....... 但是你并不知道"语句1至语句N"在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所以在"except ......"这句应怎样来写呢? 总结了一下3个方法: 方法一:捕获所有异常 try: a=b b=…
# 捕获异常,打印异常信息 try: 1/0 except Exception as e: print(e) 输出结果是integer division or modulo by zero,只知道是报了这个错,但是却不知道在哪个文件哪个函数哪一行报的错.下面使用traceback模块: # traceback跟踪异常 import traceback try: 1/0 except Exception as e: traceback.print_exc() 输出的结果是: Traceback (…
这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下   以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1class Directions:    up = 0    down = 1    left = 2    right =3    print Directions.down # way2dirUp, dirDown, dirLeft, dirRight = range(4) print dirD…
Python中多个列表与字典的合并方法 1多列表的合并 1)a+=b a=['] b = ['] a += b print(a) >>>['] 2) a.extend(b) a=['] b = ['] a.extend(b) print(a) >>>['1','2','3','22','55','66'] 3) a[0:0] = b切片的方法 a=['] b = ['] a[len(a):len(a)] = b print(a) >>>['] 2 多字…
Python中elasticsearch插入和更新数据的实现方法 这篇文章主要介绍了Python中elasticsearch插入和更新数据的实现方法,需要的朋友可以参考下 首先,我的索引结构是酱紫的. 存储以name_id为主键的索引,待插入或更新数据为: 一般会有有两种操作: 以下图片为个人见解,我没试过能不能直接运行,但形式上没错. 数据不存在,我需要插入地址为空字符串. 单条插入: 批量插入: 该数据存在,我需要更新地址字段为空字符串. 单条更新: 批量更新: 总结 以上所述是小编给大家介…
在Python中使用glob模块查找文件路径的方法 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符:"?"匹配单个字符:"[]"匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路径列表.它只有一个…
第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一.    引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰器相关的内容,在后面将单独的章节来介绍.Python总共包括三个内置装饰器(注意abstractmethod这个装饰器是从abc模块导入的,不是内置的),除了前面介绍的类方法装饰器classmethod.静态方法装饰器staticmethod外,还有一个property装饰器,这个装饰器与prope…
<Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同?>老猿介绍了二者的区别,为了快速理解,老猿在此使用另外一种方式补充说明一下: 1.使用%r是调用object类内置方法__repr__方法输出,输出信息Python建议应该是类似debug跟踪的变量信息: 2.使用%s是调用object类内置方法__str__方法输出,输出信息Python建议应该是方便用户理解易懂的友好信息. 具体还可以参考<通俗易懂方式解说Python中repr(变量)和str(变量)函…
Python中使用百分号占位符的字符串格式化方法中%s和%r表示需要显示的数据对应变量x会以str(x)还是repr(x)输出内容展示. 关于str和repr的关系请见: <Python中repr(变量)和str(变量)的返回值有什么区别和联系> 老猿Python,跟老猿学Python!…
前言 错误是程序中的问题,由于这些问题而导致程序停止执行.另一方面,当某些内部事件发生时,会引发异常,从而改变程序的正常流程. python中会发生两种类型的错误. 语法错误 逻辑错误(异常) 语法错误 如果未遵循正确的语言语法,则会引发语法错误. 例 # 初始化amount变量 amount = 10000 # 检查你是否有资格 # 是否购买某某自学课程 if(amount>2999) print("您有资格购买某课程") 输出: PS C:\Users\Administrat…
需求如下:迭代输出序列的索引(index)和索引值(value). 1.创建测试列表: >>> lst = [1,2,3,4,5] 2.实现方法如下: #方法1:range()+len() >>> for i in range(len(lst)): print i,lst[i] 0 1 1 2 2 3 3 4 4 5 #方法2:enumerate() >>> for index,value in enumerate(lst): print index,…
代码: test.py import student def main(): st = student.student(1001, 'tommy', 18) st.sing() st.dance() if (__name__ == "__main__"): main() 关键: if (__name__ == "__main__"): #表示在命令行中输入 python test.py 时就会执行 main() 方法 main() 这个输出一下就知道了: print…
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 着重掌握读取操作,因为实际工作中读取excel用得比较多,写操作几乎不怎么用. python读excel—xlrd 测试使用excel文档名称为result.xls,内容如下: 1.  打开excel文件并获取所有sheet的名称,以及根据下标获取sheet名称 #打开excel文件 workbook = xlrd.open_workbook(r'C:…
1. 函数的概念,函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集   2. 函数的作用,使用函数可以加强代码的复用性,提高程序编写的效率   3. 函数的使用,函数必须先创建才可以使用,该过程称为函数定义,函数创建后可以使用,使用过程称为函数调用 函数定义与调用: 1) >>> def 函数名(形参1,形参2):  # 定义 ...     函数体 函数名(实参1,实参2)    #调用 4. 函数的注释,写在函数定义的下方,使用”””内容”””的方法在pycha…
上下文管理器: python中实现了__enter__和__exit__方法的对象就可以称之为上下文管理器 实现方法一举例: def File(object): def __init__(self, file_name, file_model): self.file_name = file_name self.file_model = file_model def __enter__(self): self.f =  open(self.file_name, self.model) return…
Python中的Pickle模块实现了基本的数据序列与反序列化. 经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式. 一.dump()方法 pickle.dump(obj, file, [,protocol]) 注释:序列化对象,将对象obj保存到文件file中去.参数protocol是序列化模式,默认是0(ASCII协…
出现GraphViz's executables not found报错很有可能是环境变量没添加上或添加错地方. 安装pydotplus.graphviz库后,开始用pydotplus.graph_from_dot_data函数时,出错提示:"nvocationException: GraphViz's executables not found" 查阅资料后发现,原来我没有安装GraphViz's executables.用pip安装的Graphviz,但是Graphviz不是一个p…
一. 引言 <第8.21节 Python中__lt__.gt__等 "富比较"("rich comparison")方法用途探究>和<第8.22节 Python案例详解:重写 "富比较"方法控制比较逻辑>介绍了富比较方法及执行比较操作与富比较的对应关系,本节将通过案例分析排序操作与富比较方法的对应关系. 二. 案例说明 复用上节定义的类Car(如果你没看上节可以忽略这个背景,因为代码是完整的),包括实例属性和实例方法都保持…
阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法  1. var ary = new Array("111","22","33","111"); var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace…
假设我们需要一个函数什么事都不干,只是抛出异常(在某些系统中有些handler就是干这事的),我们可以很直观的写出下面的代码: def func(): raise Exception("this is a exception") 就这么一个简单的功能,我们更希望用lambda实现,自然就写下了下面的代码: lambda :raise Exception("this is a exception") 但遗憾的是这样是不行的~~~会出现SyntaxError: inva…
每次版本结束都描述这着同样的错误,相似的问题,但始终没见解决.所以今天,我就来总结下Python的错误与异常! 异常与错误 错误 语法错误 可以通过IDE或者解释器给出提示的错误 opentxt('a.jpg','r') 逻辑错误 语法层面没有问题,但是自己代码的逻辑有问题 if age>18: print('未成年') 异常 多指在程序执行过程中,出现的未知错误,语法和逻辑本身是正确的.可以通过代码进行处理或修复 异常分类 除零异常(ZeroDivisionError): 1/0 名称异常(N…
关于隐藏属性 引子: 当类的属性或者类实例对象的属性隐藏的时候必须通过存取器方法来获取和设置这些隐藏的属性. 例如: def get_name(self,name):     #存取器方法 self._name=name 通过外部调用实例函数传参达到获取和设置隐藏属性的目的.这样的函数叫做存取器 缺点:是必须通过调用存取器方法来实现这些功能 为此python提供了更强大的特性函数,即property函数 (1)property()函数 例如: name=property(get_name,set…
原文地址:Complete Guide to Parameter Tuning in Gradient Boosting (GBM) in Python by Aarshay Jain 原文翻译与校对:@酒酒Angie(drmr_anki@qq.com) && 寒小阳(hanxiaoyang.ml@gmail.com) 时间:2016年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/52663170 1.前言 如果一直以来你…
基本的魔法方法 __new__(cls[, ...]) 用来创建对象 1. __new__ 是在一个对象实例化的时候所调用的第一个方法 2. 它的第一个参数是这个类,其他的参数是用来直接传递给 __init__ 方法 3. __new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的构造方法或者直接返回别的实例对象来作为本类的实例,如果 __new__ 没有返回实例对象,则 __init__ 不会被调用 4. __new__ 主要是用于继承一个不可变的类型比如…
数据结构作为计算机基础的必修内容,也是很多大型互联网企业面试的必考题.可想而知,它在计算机领域的重要性. 然而很多计算机专业的同学,都仅仅是了解数据结构的相关理论,却无法用代码实现各种数据结构. 栈 class Stack(object): def __init__(self, limit=10): self.stack = [] #存放元素 self.limit = limit #栈容量极限 def push(self, data): #判断栈是否溢出 if len(self.stack) >…
在写物理实验图像处理的脚本时,遇到了一个判断输入的字符串是否为数字的方法 最开始我的思路是这个 test = input() while test.isdigit(): # do something 用的是系统自带的String.isdigit()的方法,该方法用于判定输入的字符串是否为纯数.如果是纯数,则返回True,否则返回False. 但是这样有一个问题,浮点数中有dot这个符号,所以一旦用户输入浮点数,返回值就是False,达不到我要的目标.后来想用最原始的C++中判定ASCII码的方法…
Python内置功能非常强大,在字符串内置函数中提供了一个判断字符串是否全数字的方法,而且这个方法不只是简单判断阿拉伯数字,包括中文数字和全角的阿拉伯数字都认识,这个函数就是字符串的isnumeric方法. 举例: >>> "一二三壹贰叁123123".isnumeric() True 老猿Python,跟老猿学Python!…
在<第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化>介绍了使用format进行字符串格式化的方法,在Python 3.6中,如果格式化字符串中的关键字参数变量与替换字段同名,还可使用一种简写:使用f字符串--在字符串前面加上f,后面无需加format调用即可. 举例: classno,name,score=student['class'],student['name'],student['score'] s=f"{classno} 班 {name}…
本文中所有案例中的fp都是使用open函数打开文件返回的一个文件对象,为了节省篇幅,大部分没有提供文件打开的代码. 一. 文件是否关闭的属性 属性名:closed 功用:判断文件是否关闭 示例: >>> fp = open(r"c:\temp\test.txt","r") >>> fp.closed False 二. 文件关闭close 调用语法:close() 功能:将缓存内容刷新到存储,并关闭文件 示例:fp.close()…
1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): print 'default(', repr(obj), ')' # 把MyObj对象转换成dict类型的对象 d = {  } d.update(obj.__dict__) return d 3. 定义类 class Object():  name=""  size=0   def __init__(self,name', size,):   …