Python核心编程

来源:互联网 发布:mac 启动空间已满 编辑:程序博客网 时间:2024/05/21 09:21

Python 内存管理
对象自己有引用计数,计变量的数。
引用计数增加,
引用计数减少。del
垃圾回收。

obj == eval(repr(obj))

内置函数 cmp 调用类的 __cmp__方法

类型的分类维度:
存储模型
更新模型
访问模型

在整型值后面加一个L(大写小写都可以),就可以表示这个整型是长整型。

复数称为 Python的一种类型
print (0.0+1.0j) * (0.0+1.0j)

两头牛背上的架子称为轭,轭让两头牛同步行走。

地板除 和 真正的除法
1/2 如果 == 0.5 就是真的除法
1/2 如果=0, 就是 底板除。 //

coerce 函数 ,返回 两个数 类型一致后的元祖

divmod 同时返回 除法 和 取余 的结果。

round() 四舍五入

由于程序不能正确地表示 0.1 ,Python有专门的十进制类型
from decimal import Decimal
用string来初始化这个类。

高级的数字科学计算 访问下面两个网站
http://scipy.org/

随机数模块random
常用的函数
randint
randrange
uniform
random
choice

s="abcde"for i in [None] + range(-1,-5, -1):    print s[:i]

string 模块中有一些预定义的字符。
比如
string.digits
string.uppercase

把重复操作放到 循环里, 效率是非常低的。

for else 不知道什么情况下用到这个, 当for中 没有遇到 break时, 就执行else

for a in range(6):    if a == 3:        print a        breakelse:    print "3 not exist"


编译时字符串连接

字符串的连接,也可以不用加号, 只要连写一起就可以。

s = "fupeng" " is" " me"print s

格式字符串的两种方式

age = 15s1 = "I am %s years old" % ageprint s1d = {"age":15}s2 = "I am %(age)s years old" % d print s2

原始字符串, 不会对反斜杠有特殊的对待

s = "a\n"print ss = r"a\n"print s

string的 split 和 join 方法。

chr(), ord()

print chr(65)print ord('a')

列表中删除元素,如果知道索引,可以用del删除。

默认集合类型就是元组
,你用逗号,分开几个对象,就是一个元组。

单元素 元组 (a, )

作为字典的键值, 必须是可hash的对象。

当想要拷贝一个列表时候,就会遇到 浅拷贝 还是 深拷贝的问题。

为什么字典的 健 必须是可哈希的。
解释器调用哈希函数,根据键的值来计算你的数据存储的位置。

如果是处理简单的命令行参数 用 getopt 模块 ,复杂的时候用 optparse

0 0
原创粉丝点击