首页 > 代码库 > python-2014.11.19

python-2014.11.19

总结的他人的Python的学习笔记:

1. 输出重定向到日志文件:

f= open("logfilename","a")

print >> a," 输出的内容,主要要有前面的重定向号>>"

f.close() #注意关闭资源

 

2. 使用from __future__ import division ,使用新功能,实现真正的除法,//仍为地板除法

3. 布尔值运算支持and,or,not;&还有竖杠等,后面应该是短路运算。

4. list,tuple,map 进行 *n ,得到新的内容重复n次的相应类型。

5. decimal数字类型,需要导入相应模块,float实际上是不能够被精确表示的。

6. 元组内容不可以改变,指的是元组内容的内存地址不发生变化,但是其元素指向的地点可以变化,可以看做是只读的列表。

7. 字典有多种创建方式,其for循环是循环字典的键。

8. enumerate()分别得到序列的下标和值

9. 列表解析用法和lambda的用法,都很巧妙。

10. type(classname,bases,dict)创建一个类。

11. Strname.strip([chars])去除某些字符和符号

12. 建议使用元组方式进行多元赋值 (a,b,c)= (1,2,3)

13. swap操作 : x,y=y,x

14. sys.getrefcount(object)获得对象的引用次数,但要减1

15. 计数增加的情形有:创建,别名引用,参数传递,容器引用

16. del 从现有的名字空间删除一个别名,引用-1

17. 给从其他模块引入的常用的变量重新赋予一个本地别名,这样可以加快加载速度。

18. 用户如果创建的实例定义了nonzero(__nonzero__())或者length(__len__())且值为0,返回False,档判断对象的bool值时,先调用nonzero方法,没有的话调用length()方法,并返回长度作为bool值。

19. 通过cpmpile()内建函数来进行预编译,使用exec()或eval()方法来执行。

20. 使用一个slice()可以创建一个切片对象,np里面也有相应的用法。

21. 比较,字符串是从首字母开始比较和长度无关,列表,元组以及字典也是按照元素顺序比较,字典是键的比较

22. 自定义对象的比较是 id的比较

23. cmp()/__cmp__(),str()/__str__(),repr()/__repr__(),isinstance()

24. 类型工厂函数:int(),long(),float(),complex(),type(),str(),Unicode(),basastring(),dict(),list(),tuple(),set(),frozenset(),bool(),object(),classmethod(),staticmethod(),super(),property(),file()

25. 标准整数类型: 0X代表十六进制,0代表八进制,0b代表二进制,长整型后面加L,大小和内存相关。

26. 解释器启动参数Qdivision_style或者-Qnew或者引入新特性使用真正除法

27. **幂运算符比左侧单目运算符优先级高。

28. coerce(n1,n2)得到按照类型转换规则转换得到的两个数字组成的元组。

29. divmod(n1,n2)得到由商和余数组成的元组。

30. round(num[,base])四舍五入,base指定小数点位数;floor()获得不大于原数的最大整数;和int()差不多

31. random伪随机数生成器,randint(start,end)获得之间的一个整数,uniform(start,end)随机生成范围内一个浮点数,randrange([start,]stop[,step])随机返回一个区间内按步长得到范围的一个随机数,choice(sequence)随机返回给定序列里面的一个元素。

32. 对所有的序列都适用的操作符,包括列表,元组和字符串:in,not in,+,*,[],slice

33. list.extend(iterable)追加一个可迭代对象。list.insert(index,obj)index超出下标后,在末尾增加,如果是负数超出在开头加。

34. list[iter],tuple([]),ste(object)是把对象转换成对象的字符串表示法,basestring不能被实例化,作为str和Unicode的父类使用。

35. reversed(sequence)返回逆序访问的迭代器

36. zip返回一个包含元组的列表

37. lambda函数,可以使用句柄加参数的方式进行调用。

38. for-else用法,else子句会在所有的元素循环完执行,如果break则不执行。

39. 使用join连接两个字符串效率会更高。

40. 格式化操作符辅助指令:*定义宽度或小数点精度,-用于左对齐,+在正数前面加+号,(sp)在正数前面显示空格,#显示进制比如%#X,(var)映射变量(字典参数),m.n 中m指显示的最小总宽度,n是小数点后的位数

41. 格式化字符串接受dict数据: “%(howmany)d days” % {"howmany":28}

42. 

 

python-2014.11.19