Core python 笔记
[*]欢迎进入Python 的世界
[*]Pyrex 可以实现 C 和 Python 混合编程。
[*]Jython 是 Python 的 Java 实现。特点有:
[*]拥有访问 JAVA 包与类库的能力。
[*]利用了 JAVA 的原生垃圾收集器。
第二章快速入门
[*]print 调用 str() 显示对象,交互式解释器则调用 repr() 显示对象。
[*]在 Python 3.0 中,/ 是浮点除法,1/2 将得到 0.5,// 是整数除法,1/2 得到0
[*]不支持 ++ 和 – 操作
[*]decimal 用于十进制整型,数字 1.1 应该用 decimal.Decimal(‘1.4’)
[*]对于字符串,+ 产生连接运算,* 产生字符串重复。
[*]list : [ ] , tuple: ( ) , dictionary: { }
[*]range(n) 产生 0~n-1
[*]file() 等同于 open()
[*]名为 __method__() 的方法都是特殊方法
[*]self 是类实例自身的引用,其它语言通常是 this
[*]dir()显示对象的属性,若无参数,则显示全局变量的名字。
[*]\ 是 Python 的换行分隔。
[*]分号 ; 允许将多个语句写在同一行。
[*]赋值语句不是合法的表达式:如 y = ( x = x + 1) 是错误的。
[*]Python 不支持重载标识符,所以任何时刻都只有一个名字绑定,内建函数名称一般不作它用,Build-in function 可以在任何一级代码使用。
[*]专用下划线标识符:_xxx: 不用 from module import 导入,_xxx_ 系统定义的名字,
_xxx: 类中的私有变量名。
[*]当一个对象的引用数量变为0时,释放这个对象和仅有这个对象可以访问到的其它对象,
[*]os.lineseq 返回操作系统的换行符,在UNIX 下是’\n’,在windows 下是 ‘\r\n’
[*]pdb 是调试器,logging 是记录器,性能测试器有:profile,hotshot,cProfile.
第三章 Python 基础
[*]每个对象拥有三个特性。身份(id), 类型(type), 值:对象表示的数据项。
[*]Python 的内部类型:
[*]代码对象:是编译过的Python 源代码片段,是可执行对象,由compile() 可得到。
[*]帧对象:表示Python 的执行栈帧,帧对象包含解释器在运行时要知道的所有信息。
[*]跟踪记录对象:异常没有被捕获和处理时显示的 Traceback 信息。
[*]切片对象:当使用扩展的切片语法时创建。
[*]省略对象:用于扩展切片语法时,起记号作用。这个对象在切片语法中表示省略号,省略对象有一个唯一的名字,Ellipsis,它的布尔值始终为True.
[*]整型对象和字符串对象是不可变对象,Python 会高效地缓存它们,Python 仅缓存简单整型,在本书中是-1 到100 (可变),不要在程序中使用这个特性。
[*]在预定义缓存字符串之外的字符串,如果不再有任何引用指向它,那这个字符串不会被缓存。
[*]str()和repr()的区别:str()得到的字符串可读性好,而repr()得到的字符串通常可以用来重新获得该对象,通常情况下 obj == eval(repr(obj)) 是成立的。
[*]Python 不支持方法或函数重载,type()内建函数用于确定其类型,且不局限于标准类型。
[*]isinstance()也用于判断对象类型。
[*]数值和字符串是原子类型;数字,字符串,元组是不可变类型。
[*]Python 的int 与长整型相同。Float 与 double 相同。
第四章数字
[*]每次将另外的数字赋给变量的时候,实际上是创建了一个新的对象并把它赋值给变量,对于其它不可变的类型也是同样处理。
[*]复数的内建属性:num.real, num.imag, num.conjugate():共轨复数
[*]位操作只适用于整型。
[*]数值运算内建函数:abs() divmod(): 除数和余数pow():幂运算 round():四舍五入
[*]进制转换函数:hex() oct()
[*]ASCII 转换函数:ord(): 字符转为ASCII 码。chr():转为字符。
[*]数字类型相关模块:decimal:十进制浮点运算类Decimal。array:高效数值数组。
math: 常规数学运算。cmath: 复数运算。operator:数字操作符的函数实现。random:多种伪随机数生成器。
8. 十进制浮点型:由于C 语言遵守IEEE 754 规范,浮点值只有52 位的精度,此时要通过decimal 模块使用Decimal 类创建十进制浮点型。
例如:from decimal import Decimal
dec = Decimal(‘.1’)# 从字符串转化,不能从浮点型直接转化。
第五章序列:字符串,列表和元组
一.序列
[*]切片:seq[::-1] 可以视作翻转操作。 seq[::2]:取第偶数个。
seq[:None] 返回整个序列。
[*]enumerate(iter) : 接受一个可迭代对象作为参数,返回一个enumerate 对象(同时也是一个迭代器),此对象生成由iter 每个元素的index 值和item 值组成的元组。
[*]max(iter,key=None),max(agr0,arg1…key=None):key 表示一个可以传给sort方法的用于比较的回调函数。min函数同理。
[*]reverse(seq) 接受一个序列作为参数,返回一个以逆序访问的迭代器。
[*]sorted(iter,func=None,key=None,reverse=False):接受一个可迭代对象作为参数,返回一个有序的列表。
[*]sum(seq,init=0):返回和可选参数init的总和,其效果等同于reduce(operator.add,seq,init)
[*]zip()返回一个列表,其第一个元素是it0,it1,….这些元素的第一个元素组成的一个元组,第二个。。。以此类推。
二.字符串
1. Python中没有字符类型,通过“原始字符串”操作符来创建直接量字符串,所以”和’并不作区别。
2. 原始字符串操作符:r / R
3.
页:
[1]