不可不知的python知识
1 python 列表元素是可变的
2变量是内存中的值
3克隆列表 : 产生两个值一样,但却有不同标示符的列表
4传递列表参数实际上是传递列表的别名,而不是列表的拷贝。如果防止列表变量在函数中被更改,可以利用克隆类表
5嵌套列表可以代表矩阵
6字符串分割时默认的分界是空格
7复合数据类型 主要是: 字符组成的字符串和由任意类型的元素组成的列表, 不同之处在于,列表中的元素能够被修改,而字符串中的字符则不能被修改。还有一种就是序列。
8字典的索引可以是字符串,除了这一点,它与其他组合类型非常相似
9字典是可变的,想要修改字典,并且保留原来的备份,就要用到字典的copy方法
10其他类型变量换成字符串的方法:
1. str方法: str(xxx)
2. 利用格式化操作符"%"
11解决输入办法是输入pickle模块,用它提供的方法就把各种类型的数据存入文件,数据结构的信息业同样被保存了。主要利用packle中dump和load方法。12 异常处理 try --except : try块的语句要求打开一个文件,如果没有异常发生,就忽略except块的内存;如果产生异常,就执行except块内的语句,之后是再一次循环。也可用raise自己定义异常。
13. 类和对象利用"==" 操作符来判断两个点是否为同一个对象copy 模块的方法copy 能够复制任何对象浅拷贝: 一些简单的对象中没有包含任何嵌入的对象, copy 方法就已经足够了例如:p2 = copy.copy(p1)深拷贝: 可以拷贝任何嵌入的对象copy.deepcopy
14. 对象的方法和函数区别 1> 方法定义在类的内部,是类的一部分 2> 调用的语法不一样
15. 有些参数可以省略是因为函数中已经给出了缺省的参数 构造函数是任何类都有的特殊方法,名字是_init_
16. 操作符重定义 的目的就是为了使类的实例也可以进行数学操作,我们需要在类的内部重新定义数学操作符,使之支持用户定义的数据类型。
17. 继承的定义 class DerivedClass(BaseClass) 子类调用父类的方法: BaseClass.method(self,arguments)
18. 私有方法标记 如果名字是以两个下划线开始,但并不是以两个下划线结束。 私有的方法和属性不能在类的外部调用。
19. python 的类型分为可变类型(mutable)和不可变类型(immutable) Python中所有变量都是值的引用,也就是说变量通过绑定的方式指定值。不可变指的就是值的不可变。对于不可变类型的变量,如果要更改变量,则会创建一个新值,把变量绑定到新值上,而旧值如果没有被引用旧等待垃圾回收。不可变的类型还有一个特性,就是可以计算其hash值,这样才能够进一步作为字典的 key .可变数据类型对对象操作的时候,不要再在其他地方申请内存,只要在此对象后面联系申请+/-即可,也就是它的地址会保持不变。但是区域会变长或变短。不可变类型包括: int string float tuple.可变类型包括: list dict.
20. Pythonic 是什么 pythonic 就是以清晰、可读的惯用法应用patyon理念和数据结构。举个例子, 应该多使用动态类型,在务必要之后引入静态类型而走向了另一端。另外避免使用经验丰富的python程序员不熟悉的方式去完成任务。(遵循最小惊喜原则),pythonic 也适用于底层的惯用法。一个pythonic 的库或框架能使程序员更加容易、更加自然得学会利用它来完成任务。
来自:http://blog.csdn.net/sxb0841901116/article/details/21569823