>>> a is b
False
>>> a == b
True
2.7. del
用于删除元素
a=[1,2,3,4,5,6]
del a[0]
a
>>>[2,3,4,5,6]
del a[2:4]
a
>>>[2,3,6]
del a[:]
a
>>>[]
del a
a
#抛出异常
>>>NameError: name 'a' is not defined
2.8. try ... except ... finally / raise
用于异常处理
try:
x=int(raw_input("请输入数字:"))
except ValueError: #可以同时捕获多个异常,写法如except(RuntimeError,ValueError):
print "您输入不是数字" #当输入非数字时
except: #省略异常名,可以匹配所有异常,慎用
pass
else: #当没有异常时
print 'result=', x
finally: #和Java中类似。一般用于释放资源,如文件,网络连接。
print 'finish'
raise用于抛出异常,可以为自定义的异常类
这里需要特别注意的是 try 语句内部不应该有完成某个操作的语法,而是需要写在
else: 后面,这和其它语言是很不同的,例如在 try 后面写个 print 它是不会显示任何东西的。
惯例是以Error结尾的类,同类的异常一般派生自同一个基类(如Exception)
class MyError(Exception):
def __init__(self,value):
self.value=value
def __str__(self):
return reper(self.value)
基类异常可以匹配派生类异常
try:
raise Exception("spam","egg")
except Exception,inst: #inst为该异常类的实例,为可选项
print type(inst) #异常的类型
print inst
2.9 函数的定义
def 函数名(参数列表):
函数代码
return 返回值(可选)
def get_arr(arr):
arr.insert(0, 'aaa')
return arr
arr = ['1','2','3']
new_arr = get_arr(arr)
print new_arr
结果为:['aaa', '1','2','3']
默认参数:
其中在后面的参数,允许初始化一个默认值,如:def myfunc(a, b=0, c='aaa') :
参数关键字:
python的函数还有一个变态的使用方法,就是调用时可以不按参数顺序,而是直接用 key=value这样的键值对表示参数,如:
myfunc(c='ggggg', a=0)
可变参数:
用 *key 表示,也是必须在参数表未尾
如:
def fprintf(file, format, *args):
file.write(format % args)
关于类和包的定义,在第三章会专门介绍,这里先不作说明。
3、附注——Python的运算符










