06 2016 档案

摘要:class Foo: def __init__(self,name): self.name = name def __str__(self): return "自定义的str 函数,用的时间 必须要用return" f1 = Foo("姚明") print(Foo) # print(f1) # 自定义的str 函数 class G... 阅读全文
posted @ 2016-06-21 18:05 科学小怪癖 阅读(98) 评论(0) 推荐(0)
摘要:内置函数__setitem__ __getitem__ __delitem__ 是对字典方式访问 如: f1["key"] 内置函数__setattr__ __getattr__ __delattr__ 是对 . 的方式访问 如: f1.key 阅读全文
posted @ 2016-06-21 15:19 科学小怪癖 阅读(121) 评论(0) 推荐(0)
摘要:class A: pass class B(A): pass print(issubclass(B,A)) #B是A的子类,返回True a1=B() print(isinstance(a1,A)) #a1是A的实例 print(isinstance(a1,B)) #a1是A的实例 阅读全文
posted @ 2016-06-12 22:25 科学小怪癖 阅读(93) 评论(0) 推荐(0)
摘要:改变对象的字符串显示__str__,__repr__ 自定制格式化字符串__format__ 阅读全文
posted @ 2016-06-12 22:21 科学小怪癖 阅读(105) 评论(0) 推荐(0)
摘要:getattr 是用于点 访问的情况下 item、 是用于字典访问的情况下 阅读全文
posted @ 2016-06-12 22:19 科学小怪癖 阅读(90) 评论(0) 推荐(0)
摘要:看看前面的 getattr 在访问不存在的属性 时 就会 执行 内置函数 ——getattr——— class Foo: def __init__(self,x): self.x = x def __getattr__(self, item): print("属性不存在就会执行") f1 = Foo 阅读全文
posted @ 2016-06-12 22:15 科学小怪癖 阅读(65) 评论(0) 推荐(0)
摘要:授权:授权是包装的一个特性, 包装一个类型通常是对已存在的类型的一些定制, 这种做法可以新建,修改或删除原有产品的功能。其它的则保持原样。 授权的过程,即是所有更新的功能都是由新类的某部分来处理, 但已存在的功能就授权给对象的默认属性。 实现授权的关键点就是覆盖__getattr__方法 授权示范一 阅读全文
posted @ 2016-06-10 22:21 科学小怪癖 阅读(97) 评论(0) 推荐(0)
摘要:包装:python为大家提供了标准数据类型,以及丰富的内置方法, 其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型, 新增/改写方法, 这就用到了我们刚学的继承/派生知识 (其他的标准类型均可以通过下面的方式进行二次加工) 1、二次加工标准类型(基于继承实现) 2、clear 加权 阅读全文
posted @ 2016-06-04 11:00 科学小怪癖 阅读(109) 评论(0) 推荐(0)
摘要:len() ().__len__ 这些内置方法 意义也是一样: 就是你在类里面 不定义 也可以用 就是python 提供的功能 来用 如果 你在 类里面定义了 就是按照你写的功能 来使用 注意 别 嵌套 递归了 阅读全文
posted @ 2016-06-03 22:51 科学小怪癖 阅读(132) 评论(0) 推荐(0)
摘要:1、反射 也可以使用 setattr 添加 函数属性到 属性字典里 2、动态导入 如何导入 字符串的 库 py文件 在 fanshe package下 创建test.py文件 创建m1文件夹 在m1下创建 文件 t.py 在t.py下 编写: 阅读全文
posted @ 2016-06-03 22:22 科学小怪癖 阅读(122) 评论(0) 推荐(0)