2019年3月5日

摘要: 举个例子: 现在很多网站都搞REST API,比如新浪微博、豆瓣啥的,调用API的URL类似: http://api.server/user/friends http://api.server/user/timeline/list 如果要写SDK,给每个URL对应的API都写一个方法,那得累死,而且 阅读全文

posted @ 2019-03-05 22:43 心酒 阅读(191) 评论(0) 推荐(0) 编辑

摘要: __getitem__ 实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,要表现得像list那样按照下标取出元素,需要实现__getitem__()方法 __getattr__ 正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。要避免这个错误,除了 阅读全文

posted @ 2019-03-05 22:40 心酒 阅读(149) 评论(0) 推荐(0) 编辑

摘要: __slots__ 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性. __str__ 用这个命令定义方法,可以返回想要的字符串,但是容易看到实例内部重要的数据, 直接显示变量调用的不是__str__(),而是__r 阅读全文

posted @ 2019-03-05 22:09 心酒 阅读(195) 评论(0) 推荐(0) 编辑

摘要: 在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。 先定义 阅读全文

posted @ 2019-03-05 15:48 心酒 阅读(180) 评论(0) 推荐(0) 编辑

摘要: 对于class的继承关系来说,使用type()就很不方便。我们要判断class的类型,可以使用isinstance()函数。 isinstance()判断的是一个对象是否是该类型本身,或者位于该类型的父继承链上。 并且还可以判断一个变量是否是某些类型中的一种,比如下面的代码就可以判断是否是list或 阅读全文

posted @ 2019-03-05 15:39 心酒 阅读(127) 评论(0) 推荐(0) 编辑

摘要: 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class) 当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类的ru 阅读全文

posted @ 2019-03-05 14:41 心酒 阅读(42) 评论(0) 推荐(0) 编辑

摘要: 注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。 有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要 阅读全文

posted @ 2019-03-05 14:30 心酒 阅读(122) 评论(0) 推荐(0) 编辑

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2019-03-05 13:59 心酒 阅读(0) 评论(0) 推荐(0) 编辑