python 自学笔记20151215

type

  • 动态的创建类
  • 创建一个类对象,需要依次传入三个参数
    • class的名称
    • 继承的父类的集合,python支持多重继承,如果只有一个父类,使用tuple的单元素写法
    • class的方法名称以及与函数的绑定

metaclass

  • 定义了类之后,就可以根据这个类创建出实例,所以必须先定义类,然后创建实例
  • 使用metaclass时,先定义metaclass ,然后创建类,最后创建实例
  • class MyList(list, metaclass=ListMetaclass):
    pass
  • 在我们传入关键参数metaclass时,它只是python解释器在创建Mylist时,要通过ListMetaclass.new() 来创建,因此,可以通过这个方法来修改类的定义;如果加上新的方法,则可以返回修改后的定义

    • __new__() 方法接收到的参数依次是
      • 当前准备创建的类的对象
      • 类的名字
      • 类继承的父类的集合
      • 类的方法的集合
  • ORM (object relational mapping)

    • 即对象-关系映射,把关系数据库的一行映射为一个对象,就是说一个类对应一个表
    • 编写一个orm框架,所有的类都只能动态定义

调试和测试

  • 错误处理
    • 在程序运行的时候,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错以及发生错误的原因。
    • 但是,使用错误码表示是否出错非常不方便,因为函数本身的返回值常常和错误码混在一起;
  • try except finally
    • 当我们认为某段代码可能出错的时候,可以用try来运行这段代码时,如果执行出错,则后续代码不会执行,而是直接跳转到错误处理代码,即except语句,执行完except后,如果有finally语句,则执行语句,至此,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值