1:Python对象之间的赋值是内容赋值而不是引用赋值
a = ["aaa","bbb","ccc"] b = a print a print b a = ["ddd"] print a print b >>>>>>>>>> ['aaa', 'bbb', 'ccc'] ['aaa', 'bbb', 'ccc'] ['ddd'] ['aaa', 'bbb', 'ccc']
也就是说,赋值之后,二者内容相互独立。
2:Python的自增自减
Python没有 ++ -- 这两个符号,但可以用 += -= 来进行加减运算的简写。
3:E记数法
Python中会把 10的n次方 表示为 en
如: 2.72e5 = 2.72x10^5
4:列表操作
增加一个:append(一个元素)
增加多个:extend([多个元素])
插入一个:insert(下标,元素)
删除具体元素:remove(具体元素)
根据索引删除:del list[下标]
弹出并返回元素:pop()弹出最后一个元素、pop(i)弹出下标i对应元素。
检查元素是否存在: 元素 in list
查找元素对应索引:list.index(元素)
列表排序:list.sort()【改变原列表】、newList = sorted(list)【不改变原列表】
列表倒转:list.reverse()、list.sort(reverse=True)
列表切片与赋值的区别:
one = ["Tom","James","Sara","Fred"] new = one[:] new.sort() print "slice one:",one print "slice new:",new two = ["Tom","James","Sara","Fred"] newTwo = two newTwo.sort() print "copy two:",two print "copy new:",newTwo =================== slice one: ['Tom', 'James', 'Sara', 'Fred'] #切片赋值的话,改变new不会影响原来的数组 slice new: ['Fred', 'James', 'Sara', 'Tom'] copy two: ['Fred', 'James', 'Sara', 'Tom'] #直接赋值的话,改变newTwo会影响原来的数组 copy new: ['Fred', 'James', 'Sara', 'Tom']
5:全局变量
全局变量(相当于静态变量):使用global修饰(global相当于static),整个程序文件中该名的变量唯一,无论在哪都可以访问、修改同一个变量。
#coding = utf-8 outer_var = 0 def func(): print outer_var global outer_var #将outer_var声明为global全局变量 outer_var = 1000 print outer_var func() print outer_var #=========== 0 1000 1000
【只有global修饰的是全局变量,可以在函数内外访问、修改。用变量名声明的变量,在哪声明,作用域就在哪——函数内定义的变量就是在函数内访问,函数外定义的就只能在函数外的同级代码行中访问,函数内不能访问到!】
#coding = utf-8 outer_var = 0 def func(): print outer_var #此句报错:访问不到该变量 outer_var = 1000 #此处是定义了一个同名的局部变量,并不是修改了函数外变量 print outer_var func() print outer_var #这里访问的是外部定义的变量
6:字符串操作
分解字符串:list = str.split(分割标记)
连接字符串
拼接:newStr = str1 + str2
使用连接符连接:newStr = 连接符.join(strList) #把字符串列表strList连接起来,并且在每个字符串之间插入连接符。
strList = ["I","love","python","!"] newStr = " ".join(strList) #使用空格作为连接符,把strList中的元素连接起来 print newStr #=========== I love python !
匹配字符串
开头、结尾匹配检索:startswith、endswith
包含检索:检索内容 in str
下标检索:pos = str.index("检索内容")
裁剪字符串
裁剪末尾内容:str.strip("裁剪内容") #如果不输入内容,则裁剪字符串末尾的所有空格
大小写转换:str.lower()、str.upper()
7:使用print写入文件内容: print >> file,"内容"
8:对象持久化
python的pickle模块提供了对象持久化的方法:
pickle.dump(对象,文件):把对象持久化到文件中。
obj = pickle.load(file):从文件中加载对象。
9: