- 浏览: 2444951 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
python格式化传参数非常赞,用数字标明位置,值得java学习
for这种迭代语法很强大,有函数式编程的范儿
python用none来表示null
为什么散列能最快速的搜索
字典是无序的
字典的updateshi是合并的意思
字典的for迭代的是来key
带默认值的get方法避免找不到是一个不错的做法
literal是字面值为什么要翻译成长量呢?
zip这个函数很有意思
用到for叫解析
视图是啥东东?
将元组和文件放一起,这结构组织的很无语…
文件分是读写分离的
pickle可以看成序列化和反序列化工具
python中用模块来表示jar包的概念
struct用来协助做序列化和反序列化的
python中的内置函数是这种非面向对象的做法可以使代码更简洁
简单的说,==对应java中的equals,is对应java中的==
在所有判断中出现的对象只有两种可能的结果:真和假
python的动态性使得我们尽量不要使用type
pass这个东西很有意思,用来占位的,和字面的意思貌似没关联
常用的函数都被定义成内置的了
语句和内置函数是有区别的
python可以让人少打字^0^
省略括号,结尾用冒号是一个坑爹的写法,因为大部分语言都不会这样写
python的一大特色就是用缩进来表明代码块的结构,这个也用来避免大块大块的程序块的写法,因为没有很好的可读性
里面举的采用缩进导致的陷阱例子我觉得采用大括号就能很好避免。
我不认为python去掉各种括号和结尾的分号能提高使用者的开发效率。
判断之后的冒号可以和case中的冒号相提并论
python会将异常用来做判断
else是一个万能的关键词
赋值可以成组成组的进行
特性很好理解,而怎么用还得多加练习才能融会贯通,才能算精通。
一些原语修改对象的方法返回的是none
参数自身除了有位置信息还有名称信息,这一点也不错,方便更灵活传递参数
print函数更适合面向对象控的口味
stdout可以看成水龙头,可以外接各种水管,即各种实现了write方法的对象
为了简洁python无所不用其极,连elseif都要简写为elif, python代码的可读性值得怀疑
python的swith case被if else 干掉了。字典又把if else干掉了。
三元运算也可以用and or 来实现。但是不好理解,只能针对bool
bool值会转换成0,1,这个可以用在两个值的列表中
因为没有大括号,只好用pass来表明一个空块。也可以认为是一个空实现或待实现
循环中的else也是为了去避免使用判断标志。
for一般和序列结合使用,用来遍历序列
zip很难让人将其与并行联系起来
zip的一个作用就是将key,value列表配对成字典
enumerate实际上是将一个list转换成一个map,其key为位置
把表达式放到for循环的前面就成了列表解析,这个也是循环遍历一种更简化的写法
简化代码,隐藏细节是所有编程语言必须遵守的一条原则
列表解析比循环遍历更高效,因为它会直接翻译成c语言
如果列表解析写的太复杂则可读性就会很差,比如多层循环嵌套
迭代协议是从左到右遍历列表元素
列表解析的另一种形式就是map内置函数
迭代协议是一切容器处理的基础
突然发现all和any是一对反义词
join和split也是一对反义词
*可以理解为正则表达式中的*用来表示一个和多个
zip的zip就是unzip
zip就是将多个列表按列重组
查询帮助叫dir,字典容器叫dict
原语修改的函数不会结果
使用函数的最终目的就是为了重用,降低代码的复杂度
函数也是对象,函数名就是函数的变量
def实际上是创建一个函数对象并赋值给一个函数变量
函数也是对象,这个跟js很想
支持操作符重载这一点很像c++
动态性导致我们必须通过测试来发现错误,而不是编译器。
builtin相当于java.lang
内部使用外部变量用global或nolocal
由于变量在使用的时候声明,所以用global来标明这是个全局变量,但是尽量别这样做
全局变量可以作为与其他程序连接的纽带,比如多线程,通过全局变量来共享数据。
嵌套函数会让程序变得复杂,降低可读性
简单的嵌套函数就是所谓的lambda
nonlocal一般在嵌套函数中常见,用来在嵌套函数中的使用上层函数中的变量。
非定长参数*args
将参数解析成字典**args
这些都是为了解决不定参数的问题,最终是为了让python这种语言更具有动态性。即不仅参数类型是可变的,参数个数也是可变的,动态的。
keyword-only这种参数,表示变长参数后面的参数必须都给出参数名,而且在调用的时候是必须出现的,除非函数定义的时候给定了默认值
关键字参数对函数会非常方便,为什么java没有?
一般递归都可以改写为循环
简单的说,lambda就是匿名函数,而且是简单的表达式函数,用来处理简单的任务
匿名函数是提高代码可读性,简化代码的利器
map函数就是用来对序列中的每一个元素执行指定的函数,至于是不是并行不知道。
reduce将对一个列表进行聚集
filter对一个列表进行过滤
列表解析是封装在一个列表中的,因此它的返回结果是一个列表
yield是future吗?不是,而是一个延迟迭代器。
用来创建迭代表达式的都可以看成生成器表达式
这种表达式有一个好处就是可以边迭代边计算,对于大结果集的几圈遍历非常有利。
生成器表达式和函数的区别就像匿名函数和函数的区别
zip太难记了,可以理解为将多个列表打包成一个新的包含多个元组的列表
两个列表用zip可以用来构造一个字典
生成器可以边解析边迭代,速度慢但是对内存的占用小
elapsed是个不错的变量用来命名消耗时间
yield是一个和return类似的关键词
python没有私有和公有的概念,所有属性和函数方法都是公有的, 当然我这个是针对模块。
一个文件就是一个模块。
模块的导入过程也是一个赋值的过程
reload可以让修改立即生效。
__init__文件用来放加载包时的初始化内容。
python的import机制为何没java的来的了解,非得还使用一个from
为了能用于大型应用中,出现了包的概念,用来组织和管理大量的代码。
貌似因为python基础库没有很好的包结构,导致了相对导入的出现
当前路径下得模块会被优先选择 。
__all__指定要暴露的内容,_x用来表明私有的东西
主程序中通过__main__来指明要执行的程序
__name__是一个标识,用来告诉模块当前以什么方式在执行。
as是别名的意思
__打头的属性都是内置的
重载模块不具有传递性
from表明导入的变量是拷贝
__init__是构造函数
模块很像类,而from相当于创建了一个模块的副本,类似于对模块做实例化,reload相当于重新实例化
代码块就像写信一样,一行必须以冒号结束,类似写信的称呼,后面就是具体内容。
类的灵活性体现在可以直接给属性赋值,没有私有公有的概念,直接通过给一个新属性赋值创建新属性。
python不习惯类和模块首字母大写?
只有在类涉及到与基本类型进行一些常规运算的时候才应该考虑运算符重载
一段代码块(类,方法等)不允许为空,如果需要可以用pass来标识
类没有实例也可以当对象来用,只是里面的属性和方法相当于是静态的
类和实例都可以通过内部字典__dict__来访问属性和方法,但是二者是分开独立的,没有继承关系。
空类可以用来模拟字典
类中的self使用太多了
调用父类方法:使用类去调用方法传入self实例
属性不需要定义,但必须在初始化方法中挂在self下。而且在类的任何地方使用都必须通过self来调用。
python没有new这个关键字,直接类加括号创建实例
python中的序列化工具叫pickle
通过类修改属性会影响所有的实例的属性值,而通过实例只会影响实例本身
类变量和实例变量即使相同也是两个不同的变量,互不干扰
实例方法的调用内部会翻译成类方法的调用,并且将实例作为类方法的第一个参数。
不存在不传实例(self)的静态方法
操作符重载本质上还是对基本类型的操作符调用,只不过用类做了一个层封装
__iter__每次返回同一个对象则是公用迭代器,否则就是不同的迭代器
操作符重载相当于内部定义的一套公共的接口列表,任何类都可以实现这些接口。比如类似java中的比较器,迭代器接口
python没有提供私有属性的关键词或者描述符,但是可以通过重载运算符来实现,好麻烦的说
__call__相当于构造函数的重载,区别在于构造函数是在类上调用,而前者还能在实例上调用。另外一个功能就是可以将类当成一个函数使用,但是有一个好处就是可以保存状态
操作符重载的规律:一般内部还是执行的某个属性与参数的操作符运算。重载方法只是一个代理而已。
类中的函数定义应该看成变量的定义,即 将一个函数和一个变量关联起来。这样就可以很好理解重载了,名字只能跟一个函数关联
__真是一个神奇的前缀
类中的实例方法可以作为对象赋值,在其他地方调用,相当于别名的意思
为什么要多重继承,就像一个人可以是工程师,作家一样
__method相当于一个私有方法
多重继承可以看成多个内的混合
python可以在实例动态添加属性
函数可以直接作为方法的注解,前提是该函数接受一个方法做参数,比如staticmethod,而且返回的是一个可调用对象。因此这个不仅可以看成注解,还可以看成包装,或者装饰。
给类的实例属性赋值,类也能访问该属性
异常可以看成goto
捕获到异常,则先执行异常再执行finally,没捕获到则先执行finally再抛出异常
python使用异常来控制流程,导致并非所有的异常都是错误(但是所有的错误一定是异常),爱奇艺。比如用异常来判断是否到达文件末尾
with/as是try/finally的简化
for这种迭代语法很强大,有函数式编程的范儿
python用none来表示null
为什么散列能最快速的搜索
字典是无序的
字典的updateshi是合并的意思
字典的for迭代的是来key
带默认值的get方法避免找不到是一个不错的做法
literal是字面值为什么要翻译成长量呢?
zip这个函数很有意思
用到for叫解析
视图是啥东东?
将元组和文件放一起,这结构组织的很无语…
文件分是读写分离的
pickle可以看成序列化和反序列化工具
python中用模块来表示jar包的概念
struct用来协助做序列化和反序列化的
python中的内置函数是这种非面向对象的做法可以使代码更简洁
简单的说,==对应java中的equals,is对应java中的==
在所有判断中出现的对象只有两种可能的结果:真和假
python的动态性使得我们尽量不要使用type
pass这个东西很有意思,用来占位的,和字面的意思貌似没关联
常用的函数都被定义成内置的了
语句和内置函数是有区别的
python可以让人少打字^0^
省略括号,结尾用冒号是一个坑爹的写法,因为大部分语言都不会这样写
python的一大特色就是用缩进来表明代码块的结构,这个也用来避免大块大块的程序块的写法,因为没有很好的可读性
里面举的采用缩进导致的陷阱例子我觉得采用大括号就能很好避免。
我不认为python去掉各种括号和结尾的分号能提高使用者的开发效率。
判断之后的冒号可以和case中的冒号相提并论
python会将异常用来做判断
else是一个万能的关键词
赋值可以成组成组的进行
特性很好理解,而怎么用还得多加练习才能融会贯通,才能算精通。
一些原语修改对象的方法返回的是none
参数自身除了有位置信息还有名称信息,这一点也不错,方便更灵活传递参数
print函数更适合面向对象控的口味
stdout可以看成水龙头,可以外接各种水管,即各种实现了write方法的对象
为了简洁python无所不用其极,连elseif都要简写为elif, python代码的可读性值得怀疑
python的swith case被if else 干掉了。字典又把if else干掉了。
三元运算也可以用and or 来实现。但是不好理解,只能针对bool
bool值会转换成0,1,这个可以用在两个值的列表中
因为没有大括号,只好用pass来表明一个空块。也可以认为是一个空实现或待实现
循环中的else也是为了去避免使用判断标志。
for一般和序列结合使用,用来遍历序列
zip很难让人将其与并行联系起来
zip的一个作用就是将key,value列表配对成字典
enumerate实际上是将一个list转换成一个map,其key为位置
把表达式放到for循环的前面就成了列表解析,这个也是循环遍历一种更简化的写法
简化代码,隐藏细节是所有编程语言必须遵守的一条原则
列表解析比循环遍历更高效,因为它会直接翻译成c语言
如果列表解析写的太复杂则可读性就会很差,比如多层循环嵌套
迭代协议是从左到右遍历列表元素
列表解析的另一种形式就是map内置函数
迭代协议是一切容器处理的基础
突然发现all和any是一对反义词
join和split也是一对反义词
*可以理解为正则表达式中的*用来表示一个和多个
zip的zip就是unzip
zip就是将多个列表按列重组
查询帮助叫dir,字典容器叫dict
原语修改的函数不会结果
使用函数的最终目的就是为了重用,降低代码的复杂度
函数也是对象,函数名就是函数的变量
def实际上是创建一个函数对象并赋值给一个函数变量
函数也是对象,这个跟js很想
支持操作符重载这一点很像c++
动态性导致我们必须通过测试来发现错误,而不是编译器。
builtin相当于java.lang
内部使用外部变量用global或nolocal
由于变量在使用的时候声明,所以用global来标明这是个全局变量,但是尽量别这样做
全局变量可以作为与其他程序连接的纽带,比如多线程,通过全局变量来共享数据。
嵌套函数会让程序变得复杂,降低可读性
简单的嵌套函数就是所谓的lambda
nonlocal一般在嵌套函数中常见,用来在嵌套函数中的使用上层函数中的变量。
非定长参数*args
将参数解析成字典**args
这些都是为了解决不定参数的问题,最终是为了让python这种语言更具有动态性。即不仅参数类型是可变的,参数个数也是可变的,动态的。
keyword-only这种参数,表示变长参数后面的参数必须都给出参数名,而且在调用的时候是必须出现的,除非函数定义的时候给定了默认值
关键字参数对函数会非常方便,为什么java没有?
一般递归都可以改写为循环
简单的说,lambda就是匿名函数,而且是简单的表达式函数,用来处理简单的任务
匿名函数是提高代码可读性,简化代码的利器
map函数就是用来对序列中的每一个元素执行指定的函数,至于是不是并行不知道。
reduce将对一个列表进行聚集
filter对一个列表进行过滤
列表解析是封装在一个列表中的,因此它的返回结果是一个列表
yield是future吗?不是,而是一个延迟迭代器。
用来创建迭代表达式的都可以看成生成器表达式
这种表达式有一个好处就是可以边迭代边计算,对于大结果集的几圈遍历非常有利。
生成器表达式和函数的区别就像匿名函数和函数的区别
zip太难记了,可以理解为将多个列表打包成一个新的包含多个元组的列表
两个列表用zip可以用来构造一个字典
生成器可以边解析边迭代,速度慢但是对内存的占用小
elapsed是个不错的变量用来命名消耗时间
yield是一个和return类似的关键词
python没有私有和公有的概念,所有属性和函数方法都是公有的, 当然我这个是针对模块。
一个文件就是一个模块。
模块的导入过程也是一个赋值的过程
reload可以让修改立即生效。
__init__文件用来放加载包时的初始化内容。
python的import机制为何没java的来的了解,非得还使用一个from
为了能用于大型应用中,出现了包的概念,用来组织和管理大量的代码。
貌似因为python基础库没有很好的包结构,导致了相对导入的出现
当前路径下得模块会被优先选择 。
__all__指定要暴露的内容,_x用来表明私有的东西
主程序中通过__main__来指明要执行的程序
__name__是一个标识,用来告诉模块当前以什么方式在执行。
as是别名的意思
__打头的属性都是内置的
重载模块不具有传递性
from表明导入的变量是拷贝
__init__是构造函数
模块很像类,而from相当于创建了一个模块的副本,类似于对模块做实例化,reload相当于重新实例化
代码块就像写信一样,一行必须以冒号结束,类似写信的称呼,后面就是具体内容。
类的灵活性体现在可以直接给属性赋值,没有私有公有的概念,直接通过给一个新属性赋值创建新属性。
python不习惯类和模块首字母大写?
只有在类涉及到与基本类型进行一些常规运算的时候才应该考虑运算符重载
一段代码块(类,方法等)不允许为空,如果需要可以用pass来标识
类没有实例也可以当对象来用,只是里面的属性和方法相当于是静态的
类和实例都可以通过内部字典__dict__来访问属性和方法,但是二者是分开独立的,没有继承关系。
空类可以用来模拟字典
类中的self使用太多了
调用父类方法:使用类去调用方法传入self实例
属性不需要定义,但必须在初始化方法中挂在self下。而且在类的任何地方使用都必须通过self来调用。
python没有new这个关键字,直接类加括号创建实例
python中的序列化工具叫pickle
通过类修改属性会影响所有的实例的属性值,而通过实例只会影响实例本身
类变量和实例变量即使相同也是两个不同的变量,互不干扰
实例方法的调用内部会翻译成类方法的调用,并且将实例作为类方法的第一个参数。
不存在不传实例(self)的静态方法
操作符重载本质上还是对基本类型的操作符调用,只不过用类做了一个层封装
__iter__每次返回同一个对象则是公用迭代器,否则就是不同的迭代器
操作符重载相当于内部定义的一套公共的接口列表,任何类都可以实现这些接口。比如类似java中的比较器,迭代器接口
python没有提供私有属性的关键词或者描述符,但是可以通过重载运算符来实现,好麻烦的说
__call__相当于构造函数的重载,区别在于构造函数是在类上调用,而前者还能在实例上调用。另外一个功能就是可以将类当成一个函数使用,但是有一个好处就是可以保存状态
操作符重载的规律:一般内部还是执行的某个属性与参数的操作符运算。重载方法只是一个代理而已。
类中的函数定义应该看成变量的定义,即 将一个函数和一个变量关联起来。这样就可以很好理解重载了,名字只能跟一个函数关联
__真是一个神奇的前缀
类中的实例方法可以作为对象赋值,在其他地方调用,相当于别名的意思
为什么要多重继承,就像一个人可以是工程师,作家一样
__method相当于一个私有方法
多重继承可以看成多个内的混合
python可以在实例动态添加属性
函数可以直接作为方法的注解,前提是该函数接受一个方法做参数,比如staticmethod,而且返回的是一个可调用对象。因此这个不仅可以看成注解,还可以看成包装,或者装饰。
给类的实例属性赋值,类也能访问该属性
异常可以看成goto
捕获到异常,则先执行异常再执行finally,没捕获到则先执行finally再抛出异常
python使用异常来控制流程,导致并非所有的异常都是错误(但是所有的错误一定是异常),爱奇艺。比如用异常来判断是否到达文件末尾
with/as是try/finally的简化
发表评论
-
<异类>读书笔记
2013-03-06 07:54 0成功者能够获得更多的机会,从而能变得更为成功。税收愈减免,富人 ... -
python写csv乱码的问题
2013-03-11 22:26 12981主要是要写个BOM import json import ... -
<万历十五年>读书笔记
2013-03-11 22:27 1530在网上下了一个电子书, 但是貌似跟万历十五年没啥关系, 都是讨 ... -
《鸟哥的linux私房菜》读书笔记(部分)
2013-03-11 22:27 2013x86是一种微机系统硬件架构,另一种是苹果的mac的架构 l ... -
《你的灯亮了吗》读书笔记
2013-03-06 07:20 1461这是一本原本写给程序员的书 本书的四个问题: 搞清问题的来源 ... -
《小狗钱钱》读书笔记
2013-03-06 07:17 1445一本非常不错的理财学习入门书, 以童话的形式, 儿童的思维方式 ... -
《我的奋斗》读书笔记
2012-04-14 22:03 2005文字写的很幽默, 故事也基本都是一些平常人的故事,看到了一个特 ... -
《Java Performance》书评
2012-01-15 18:32 2922原文: http://java.dzone.com/rev ... -
《程序员应该知道的97件事》读书笔记
2012-01-15 18:36 2341一本关于写代码的文 ... -
《影响力》读书笔记
2011-11-05 14:47 1799从书名上很可能以为 ... -
《浪潮之巅》读书笔记
2011-11-05 14:44 1338作为一个中国人通过分析硅谷高科技公司的一系列传奇, 总结出这 ... -
《黑客与画家》读书笔记
2011-11-05 13:37 1783以前看过《rework》, 觉得是每一个小型创业公司的创业宝 ... -
《乔布斯传》读书笔记
2011-10-18 08:53 2787在ipad上看完了这本书, 写的还不错, 里面没有无聊的八 ... -
《细说Java》读书笔记
2011-10-05 15:01 1950国人写的, 感觉是一 ... -
《敏捷估计与规划》读书笔记
2011-10-05 12:08 3143这本书断断续续看了很长时间, 内容非常不错, 基本涵盖了sc ... -
《怪诞心理学》读书笔记
2011-10-05 09:44 1779既然是怪诞, 那么整本书涉及的内容并不是我们平常司空见怪的一 ... -
《番茄工作法图解》读书笔记
2011-09-28 09:02 2351番茄工作法是时间管 ... -
《Java开发超级工具集》读书笔记
2011-09-28 08:59 2071"工欲善其事必先利其器", 在平时的开发 ... -
《敏捷迭代开发管理者指南》读书笔记
2011-09-24 13:09 2170这是一本关于迭代开发 ... -
《解析极限编程》读书笔记
2011-09-24 13:03 1747不知道是kent beck的语 ...
相关推荐
python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 * *...
Python 学习笔记 - v1.0
本篇文章是作者关于在学习了《Python学习手册》以后,分享的学习心得,在此之前,我们先给大家分享一下这本书: 下载地址:Python学习手册第4版 之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好...
python学习笔记的第一部分,十分经典对的python教程
综合了Python学习手册和python简明教程的知识,为了方便学习和查阅,特做成chm文件格式
《Python 学习手册》(第四版 + 第五版)笔记
python学习手册
本书是学习Python编程语言的入门书籍,目标是让读者快速掌握核心Python语言基础本书设计成一本教程,主要关注核心Python语言本身,而不是其特定的应用程序。本书基于一个带有测试和练习的3天的Python培训课程,所以...
《Python数据科学手册》学习笔记本
希望对学习Python的同学有帮助。。。
Python数据科学手册(Python Data Science Handbook)学习笔记
Python 诞生于 1989 年的圣诞期间,由 Guido van Rossum 开发而成,目前 Guido 仍然是Python 的主要开发者,主导着 Python 的发展方向,Python 社区经常称呼他为...在学习和使用 Python 的过程中,我作了不少笔记。
1,笨方法学习python是一本译文作品,其作者不是中国人,而翻译在进行翻译的时候,也并不是相当负责,在一些概念性问题上出现了和原文意思有差别的地方。 2,本书主要通过写代码来发现问题。是从整体到要点的一种...
学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感...
python数据分析学习笔记|数据探索.html
在读完<python学习手册>之后比较完整的读书笔记
学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感...
此资源从网上查找整理