
python&perl
零丁若叹
这个作者很懒,什么都没留下…
展开
-
python中的异常处理
在编写程序时可能会出现一些异常,比如类型错误,除零错误等,为了能捕获并处理这些异常,可以使用python的异常处理功能。python使用raise语句可以抛出异常,对于可能出现异常的语句块,用try语句包围起来,并用except捕捉,就可以实现异常处理了,比如:x=input("first number:")y=input("second number:")try: print x/原创 2014-02-22 22:40:38 · 2011 阅读 · 0 评论 -
python使用正则表达式
python中使用正则表达式1. 匹配字符正则表达式中的元字符有 . ^ $ * + ? { } [ ] \ | ( )匹配字符用的模式有\d 匹配任意数字 \D 匹配任意非数字\s 匹配任意空白字符\S 匹配任意非空格字符 \w 匹配任意数字或者字母\W 匹配任意非数字或者字母 2. 正则表达式python中使用compile处原创 2014-05-17 23:53:09 · 1569 阅读 · 0 评论 -
python中的单元测试
python中的单元测试可以使用doctest,unittest完成1.doctest的使用(1)写入程序如下(cubetest.py):#!/usr/bin/pythondef cube(x): """ cube a number and return the result >>> cube(2) 8 >>> cube(3) 27 >>> cube(4) 64原创 2014-05-11 22:19:38 · 1358 阅读 · 0 评论 -
perl正则表达式
本文和大家重点讨论一下Perl正则表达式的概念,Perl正则表达式,就是一串特别设计过的字符串,相信通过本文的学习你对Perl正则表达式的概念有初步的认识。1.Perl正则表达式语法所谓Perl正则表达式,就是一串特别设计过的字符串,可以按照你的意图用匹配操作寻找你要求的目标。我这里不是Perl手册,也不是教科书,所以我从例子开始,具体的完整说明还请查手册。1.1转义符号\转载 2014-06-01 23:29:31 · 897 阅读 · 0 评论 -
python实现的链表
python实现的链表,包括插入、查找、删除操作#!/usr/bin/python class linknode(): def __init__(self,k,n=None): self.key=k; self.next=n;def createlist(): #创建链表 n=raw_input("enter the num of nodes"); n=int(原创 2014-06-06 23:35:54 · 1603 阅读 · 0 评论 -
二叉查找树python实现
1. 二叉查找树的定义:左子树不为空的时候,左子树的结点值小于根节点,右子树不为空时,右子树的结点值大于根节点,左右子树分别为二叉查找树2. 二叉查找树的最左边的结点即为最小值,要查找最小值,只需遍历左子树的结点直到为空为止,同理,最右边的结点结尾最大值,要查找最大值,只需遍历右子树的结点直到为空为止。二叉查找树的插入查找和删除都是通过递归的方式来实现的,删除一个结点的时候,先找到这个结点原创 2014-06-29 14:05:01 · 4382 阅读 · 1 评论 -
perl智能匹配
1.perl中~~为智能匹配,它可以智能地根据符号两侧的操作数来确定操作。如要判断某个元素是否存在于数组中,不使用智能匹配,程序像这样:my $x=2;my @array=(1,2,3);my $flag=0;for (@array){if($x==$_){$flag=1;}}if($flag == 1){print "$x is in the array";}原创 2014-06-02 22:04:11 · 1798 阅读 · 0 评论 -
python程序调试
本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序源码例子例如,有模拟税收计算的程序:#!/usr/bin/python def debug_demo(val): if val print "level 1"转载 2014-06-01 23:18:08 · 812 阅读 · 0 评论 -
python中的装饰器
python中的装饰器可以装饰函数,也可以装饰类,功能是向函数或者类添加一些功能。类似于设计模式中的装饰模式,它可以把装饰器的功能实现部分和装饰部分分开,避免类中或者函数中冗余的代码。装饰器装饰函数:def decrator(f1): def newf(): print "strings will be connected:" print f1(); return newf;原创 2014-07-27 13:10:25 · 1336 阅读 · 0 评论 -
python中的yield
Python有yield表达式,它只能用于定义生成器函数,生成器可以控制函数的执行,函数可以再生成器语句出暂停执行,当前使用的变量,堆栈等都会保留,直到下次使用生成器方法。下面是一个yield的例子:def f(n): a,b=1,1; i=0; while i<n: yield b; a,b=b,a+b; i=i+1;然后产生生成器对象c=f(5原创 2014-02-08 00:09:55 · 3105 阅读 · 0 评论 -
python中创建和遍历二叉树
python创建二叉树,源代码如下:#!/usr/bin/python class node(): def __init__(self,k=None,l=None,r=None): self.key=k; self.left=l; self.right=r;def create(root): a=raw_input('enter a key:'); if a is '#原创 2014-05-17 17:51:21 · 13761 阅读 · 4 评论 -
python中的数据结构
1. 列表(1) 建立列表list(‘python’)['p', 'y', 't', 'h', 'o', 'n'](2)列表的常用方法:append 在列表末尾添加元素>>>l=[‘a’,’b’,’c’]>>>l.append(‘d’)>>>l['a','b','c','d']count 统计某个元素在列表中出现的次数>>>['a','a'原创 2014-05-18 15:13:33 · 1296 阅读 · 0 评论 -
perl文件测试
perl中文件测试的操作符及意义测试文件的权限:-r 文件或者目录对目前(有效的)用户是可读的-w 文件或者目录对目前(有效的)用户是可写的-x 文件或者目录对目前(有效的)用户是可执行的-o 文件或者目录有对目前(有效的)用户拥有-R 文件或者目录,对实际的用户或组来说是可读的-W 文件或者目录,对实际的用户或者组来说是可写的-X 文件或者目录,对实际的用户原创 2014-02-23 21:32:44 · 1232 阅读 · 0 评论 -
python使用syslog模块
syslog模块是在unix环境下工作的模块,不能用于windows,在windows环境下可以使用logging模块。syslog模块可以用于记录系统运行的信息,这个模块提供的方法有,syslog(priority,message),它将message送入系统日志,priority的默认选项为LOG_INFO,openlog([ident[,logoption[,facility]]]),它用于原创 2014-02-24 23:50:40 · 9311 阅读 · 0 评论 -
python使用锁访问共享变量
python 做多线程编程时,多个线程若同时访问某个变量,可能会对变量数据造成破坏,pyhon中的threading模块提供了lock对象,lock中的acquire方法用于获取一个锁,而release用于释放一个锁。当一个线程取得锁时,它变获得了共享变量的访问权,此时进入阻塞状态,若其它线程申请访问这个变量,则必须等到这个线程调用release方法释放这个锁。下面是python中使用锁的实例原创 2014-03-01 19:18:46 · 7111 阅读 · 0 评论 -
wxPython的使用
1. wxpython的官网下载wxpython,注意下载的版本要与python版本相对应。http://www.wxpython.org/,下载完成后安装2. 编写wxpython界面,可以先导入必须的wxpython包,创建窗口,然后创建合适的按钮、文本框等组件,然后使用sizer调整组件的位置、大小、对齐方式等,然后进入应用程序的主循环。3. 下面是原创 2014-03-02 18:09:49 · 1706 阅读 · 0 评论 -
perl中的控制语句及函数定义
1. 条件控制语句if(条件表达式){#语句}else{#语句}switch…case结构形式为:switch (标量)case { }case { }case { }else { } switch语句的用法为:#!/usr/bin/perl -wuse switch;my $m=;my @arra原创 2014-03-09 18:01:45 · 1608 阅读 · 0 评论 -
python中的继承
继承是面向对象的重要特征,它可以提高代码的复用性,从而减少某些代码的重写。继承可以分为单继承和多重继承。python中指定基类的方法是定义派生类时在括号中写入基类的名字,如class derive(base).python可以使用两种单继承的方法原创 2014-05-02 23:02:00 · 1631 阅读 · 0 评论 -
python实现堆栈和队列
1.python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了。stack.py的程序如下:class Stack(): def __init__(self,size): self.size=size; self.stack=[]; self.top=-1; def pus原创 2014-03-23 10:50:53 · 3514 阅读 · 0 评论 -
python中的字符串处理
1.字符串转换s.lower() 转为小写s.upper() 转为大写s.swapcase() 大写转为小写,小写转为大写s.capitalize() 首字母大写转换为int类型 string.atoi(s) 或者int(s)转换为float类型 string.atof(s) 或者float(s)转换为long类型 string.atol(s)原创 2014-05-04 22:38:17 · 1389 阅读 · 0 评论 -
python中的静态方法和类方法
静态方法独立于类和类的实例,它是定义在类作用域内的方法。可以由类和实例直接调用。类方法和静态方法都要使用装饰器来定义,定义的基本格式是:@staticmethod def (): #do something类方法定义的基本格式是:@ classmethoddef (cls): #dosomething类方法与成员方法不同的是,它需原创 2014-05-11 12:51:25 · 2817 阅读 · 0 评论 -
python中的文件操作
1. python中常用的文件操作有open,write,read,readline,readlines,writelines,seek,tell,close等。open的函数原型为open(name[,mode[,buffering]]),name为文件的路径名,常见的mode有’r’ (读模式),’w’ (写模式),’a’追加模式,’b’ ( 二进制模式) ‘+’(可读可写模式),b原创 2014-03-02 12:17:15 · 1634 阅读 · 0 评论