第一章
幂 ** 或者pow(2,3)
- abs 绝对值
- round 四舍五入
- floor
- ceil
- sqrl 开根号
加 #!/usr/bin/env python
- input python表达式
- raw_input 原始数据
- repr 转python表达式
- `` 转python表达式
- str 转字符串
- 长字符串 ''' '''
- 原始字符串 r' '
- unicode: u' ' 3.0以下字符串用的8位ASCII 码,可转为16位unicode字符串
第二三四章
序列包含:- 列表
- 元组
- 字符串
- unicode
- buffer
- xrange
- 索引
- 分片 步长[0:10:2]
- 加(相同类型)
- 乘
- in
- len
- min
- max
操作有:
- 赋值
- 删除
- 分片赋值 n[1:1]=[2,3,4]
- append
- count
- extend 注意和用+的区别
- index
- insert 需要两个参数如(3,"ok")
- pop 唯一一个既修改列表又返回元素值
- remove 移除第一个匹配的项,注意与pop的区别
- reverse
- sort 注意,例如y=x.sort() x返回 None ,可以y=x[:]复制列表。需要返回的话用函数sorted(x)
- sort(cmp key reverse)高级排序
元组
tuple 值不可修改,不可变序列。操作与list类似
tuple 值不可修改,不可变序列。操作与list类似
字符串
不能修改,例如str[1:]="abc"会报错
方法:
- find
- join
- lower
- replace
- splite
- strip
- translate
注意两点:
- 键可以是任何不可变类型
- 空字典键可直接使用
- clear
- copy y=x.copy()
- fromkeys dict.fromkeys([xx])
- get
- has_key
- item
- iteritems
- keys
- iterkeys
- pop
- popitem
- setdefault
- update
- values
- itervalues
第五章
- is : 同一性
- == :相等性
- range
- xrange
- zip : 并行迭代
- enumerate: for index,string in enumerate(strings)
两个函数
- sorted
- reversed
第六章
函数- callable
- hasattr(func,__call__)
''
__doc__
形参转实参
(形)n = name(实) ,如此传值,因此 字符串 数字 元组不可变的,不会改变实参的值
而列表这种可变的就可能会改变实参的值。若不想改变列表值,可如此传change(name[:])
关键字参数可提供默认值
收集参数:
- * 收集位置参数
- ** 收集关键字参数
- vars() globals() 全局变量
- locals() 局部变量
第七章第九章 类
多态:不同的类的对象使用相同的操作。如count 任何类可用;repr 对任何东西使用。都属于多态的范畴。类相关
- 类属性(类作用域内变量)
- 可被类访问
- 可被所有实例访问
- 可被屏蔽
- 类似JAVA静态变量(可能)
- 实例属性(变量) self.XX
- 类方法 (cls) @classmethod 可用cls调用类的私有类变量
- 静态方法 (无self参数) @staticmethod 装饰器原理: smeth=staticmethod(smeth)
- 实例方法 (self) 这里要注意通过(self)参数来与函数区分。
关于超类
子类可以重写父类方法
issubclass查是否子类
多个超类:先继承的重写后继承的。
相关函数:
- issubclass
- isinstance
- type(s)
- __bases__
- __class__
- hasattr
- setattr
- __dict__
__init__ 子类重写构造方法,应调用父类的,否则运行时可能出问题
(例如某些特性是父类构造方法中定义的,self.attr的实例属性,将不被继承,这时候直接用会出错)
super(SongBird,self).__init__() 3.0中super不用加参数
或者Bird.__init__(self)
property的使用,未仔细看