1. Python牛。
3. 一切皆为对象,对象都有名字。
4. 基本数据类型和c/c++相像,但是1 == 1.0, 原因:float和int比较时,会把int转为long, 再把long转为double,float也被转为double。
5. None是特殊变量。跟C中的NULL不完全一样。
6. bool型,很多的情况都可以作为false,如0, 0.0,[], {}, None等。感觉不错,这个世界就应该把是和非直接平衡些。
7. IndentationError: expected an indented block: 缩进问题。
9. list列表,叫什么都无所谓,数组, Vector都行。
10.list一个特别的地方,可以使用负数索引。
11.list常用操作:
list的截取: a[3:5], a[3:], a[:]
list的追加: a.append(var)
某个元素在list出现的次数: a.count(var)
list长度: len(list)
list追加一个list: a.extend(list)
返回某元素在list中的位置: a.index(var)
list中插入: a.insert(index, var)
list弹出最后或指定位置的元素: a.pop(), a.pop(index)
list找到某值,删除之: a.remove(var)
list中倒次序: a.reverse()
list排序: a.sort(), a.sort(func),使用func(x, y)作为规则排序
12.很好玩的一个东西:
[<expr1> for k in L if <expr2>]
例子: [k + 1 for k in a if type(k) == types.IntType]
16. 序列sequence
sequence就是list,string,tuple的总称。
它们之间的共性就是以下操作:
(a). in判断某个object是否在sequence中。
(b). len取得sequence的长度
(c). 可以使用下标操作:sequence[i]
(d). 取子sequence用sequence[start:end],
取得的子sequence下标为[start, start+1,...,end-1],不是到end结束。
(e). 用+号可以连接sequence.
(f). 用乘号*可以重复几个sequence.
(g). 可以使用list comprehension: [<expr1> for k in L if <expr2>]
22. 函数参数的设置
(a). 默认参数
(b). 参数个数可变: **对应dictionary,*对应tuple。
例如:def printf(format, *args), 调用方式: printf("%d,%d", 1, 3)
而:
def printf(format, **args),调用方式:printf("ok", One=1, Two=2, Three=3)
注意: **和*参数必须为最后一个参数。
25. 函数的作用域: LGB准则就是Python找变量的次序: Local - Global - Build-in
26. 函数可以嵌套,但内部的函数不能访问外部的变量。