摘要:
Python的高级特性1-7系列是本人从Python2过渡3时写下的一些个人见解(不敢说一定对),接下来的系列主要会以类级为主。类,对象,实例,方法是几个面向对象的几个基本概念,其实我觉得很多人并不是真正了解这一块。举个例子进行测试一下:In [19]: class A(): ....: ... 阅读全文
摘要:
本节跟第三节关系密切,最好放在一起来看:python的高级特性3:神奇的__call__与返回函数一.闭包:闭包不好解释,只能先看下面这个例子:In [23]: def outer(part1): ....: def inner(part2): ....: ... 阅读全文
摘要:
在伯乐在线上看到了这篇文章,用Python的 __slots__ 节省9G内存,于是想测试下,对单个类,用__slots__节省内存效果会不会明显。看完这个例子后,我们也会明白__slots__是用来干嘛的。:import sys:class test(object):: def __init... 阅读全文
摘要:
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。看下面一种常见的get/set操作In [174]: class Student(object): .....: pass .....: In [175]... 阅读全文
摘要:
函数式编程的核心就是把函数当成对象来进行编程。有两个常用到的方法:map/reduce,filter,其中map和filter是内建方法,而reduce不是,所以需要import相关模块。map接收两个参数,第一个参数是函数(处理办法),第二个参数是一个可迭代对象,而map可以把第二个参数的变量映射... 阅读全文
摘要:
__call__是一个很神奇的特性,只要某个类型中有__call__方法,,我们可以把这个类型的对象当作函数来使用。也许说的比较抽象,举个例子就会明白。In [107]: f = absIn [108]: f(-10)Out[108]: 10In [109]: dir(f)Out[109]: ['_... 阅读全文
摘要:
一.列表推导式 1.列表推导式是颇具python风格的一种写法。这种写法除了高效,也更简短。In [23]: {i:el for i,el in enumerate(["one","two","three"])}Out[23]: {0: 'one', 1: 'two', 2: 'three'}enu... 阅读全文
摘要:
python中有一些容易忽略的不可变类型(str,integer,tuple,None)#错误演示In [45]: def demo(lst=[]): ....: lst.append("hello") ....: return lst ....: In [46]: de... 阅读全文
摘要:
看了魔法函数,有一点疑问。1中需要用self.word才能执行,而2直接用self就可以执行。而1中Word继承了int基本类型,但在__new__时并没有什么卵用。当用Word(“123”)来实例化时,看到的运算结果是以字符串形式来进行运算的,比如“123”*3=123123123。1.class... 阅读全文
摘要:
1 字符输入(FileReader , char)import java.io.IOException;import java.io.FileReader;public class ep10_1 { public static void main(String[] args) throws I... 阅读全文