1、python特点:简单、解释执行、跨平台、交互式、面向对象、动态类型、强类型。


2、python的类支持多态,操作符重载,多重继承,面向过程也面向对象。


3、一切皆对象,变量名只是引用,类型属于对象,而不是变量名!!


3、从技术上讲,对象有更复杂的数据结构,而不仅仅是有足够的空间来表示它的值这么简单。每个对象都有两个标准的头部信息:一个类型标识符去标识该对象的类型,以及一个引用计数器,用来决定是不是可以回收这个对象。


4、Python中,变量名所引用对象的类型是在运行时自动决定的,而不是通过代码声明,所以python是动态类型语言,而它又是强类型的,即只能执行相应类型规定的操作。另重要的是一个变量使用前必须赋值,不然会报错,和java一样要初始化,防止了c/c++中的随机值问题。


5、集合只能包含不可变的对象类型(即可散列hashable),列表,字典不能再其中,并且集合中不能嵌入集合,虽然是不可变的,空集合用set()生成,而不是{},{}代表空的字典!!


6、python注释是#,而三重引号(单双都行),可以当成多行注释。


7、dir()返回的是列表,表示对象可以进行的操作名,help()可以更详细地解释相应对象的使用方法,对象的__dict__属性返回字典。


8、2.6中内置函数在内置模块__builtin__中,3.0中内置函数在内置模块builtins中。


9、请确定没有嵌套的语句都在第一列,即不能有空格和tab,python中的indent是语法要求的!!!所以语言很优美,代码很工整,容易阅读。


重构思想:不改变软件现有功能的基础上,调整代码结构,使其设计模式,架构更加合理,提高软件的可扩展性和可维护性。“测试为先,持续重构”是一个好的开发习惯,保证了软件的质量。


类型分类:

1、数字(包含整数,浮点数,分数,集合,布尔型等)   支持算术运算

      序列(包含字符串、列表、元组)                               支持索引,分片等

      映射(字典)                                                                支持键索引,无序,不重复

     集合(属于数字)                                                          不可变,无序,不重复


2、不可变类型(数字,字符串,集合,元组)              创建新对象给原变量以达到修改效果

     可变类型(列表,字典)                                            可以再原处修改,不用创建新对象

     e.g.    a.append(2) 与 a = a+[2]的区别!