Python-class,继承和多态,异常处理

来源:互联网 发布:131458淘宝信誉查询心 编辑:程序博客网 时间:2024/06/06 07:02
Class 类
class MyClass:    def __init__(self, val):  # 初始化函数,self必须要有        self.val = val    def display(self, s):        print('%s: %d' % (s, self.val))# python中类和对象都是可以传递的。m = MyClass(100)  # 进行对象传递print(m.val)  # 100m.display('hello')  #等同于 display(m, 'hello')   输出   hell0: 100print('')m2 = mprint(id(m))  # 这里主要看下m2 和 m 是等价的print(id(m2))fn = m.displayfn('hey')  # hey: 100


继承和多态

# 继承和多态class Base:    passclass MyClass(Base):    def run(self):        print('MyClass run')        class MyClass2(Base):    def run(self):        print('MyClass2 run')m = MyClass()print(isinstance(m, MyClass))print(issubclass(MyClass2, Base))print('')# 多态# python关注继承的类有没有这个方法,而不关注是从哪里继承过来的m2 = MyClass2()m.run()m2.run()print('')def duck(d):    d.run()class Man:    def run(self):        print('man run')class Monkey:    def run(self):        print('monkey run')duck(Man())duck(Monkey())

异常处理

主要考虑:捕捉异常情况,跟具体的执行进行解耦

import tracebacktry:    print('try...')    r = 10 / 0except ZeroDivisionError as e:# 2.7: except ZeroDivisionError, e:    print('ZeroDivisionError:', e)    print(traceback.print_exc())finally:    print('finally...')  # 不管错误是否发生,都要去执行以下。


原创粉丝点击