open函数
一个必写参数file,7个默认参数
file:文件名
默认打开模式:”r”
buffering:只在二进制下才允许关闭,默认值-1
encoding:编码
…
一般说来,默认参数是不用我们去动的,一般只需要填一个或两个参数就可以了
不要使用os.open,已经过时了
Python中没有常量
split方法
默认以空格分割,也可以自己指定
一个好玩的示例:
usercmp,userpsw = userinfo.split(’ ‘)
但是这样玩容易崩,如果分割得到的数量多于前面所写,那么就会崩,但是可以改进:
usercmp,userpsw,*other = userinfo.split(’ ‘)
*other是可变参数,这样即使分割后多于两个参数也不会从崩了
但是不建议这样做,分割所返回的是一个列表,那么就用列表承载就好了。
从列表中取值得方法
other=[mylist[0],mylist[1]]
for i in range(3): other.append(mylist[i])
other = mylist[0:2] (不包含2)
切片操作
这样也可以: mylist(i:j:K) 其中的k是指步长
i和j可以为0,表示从0开始,到最后。如果i是-1,那么就是从最后面一个起步了,但因为是最后一个,加一个正数步长,后面就没数了,如果想从最后往前取,那么需要使步长为负数才行
mylist=list(range[100])
字典的遍历
示例
mydict = {1:'a',2:'b',3:'c'}
for x in mydict:
print(x) #得到的是键 1 2 3
for x in mydict.values():
print(x) #得到的是值 'a' 'b' 'c'
for x in mydict.items():
print(x) #得到的是一对对 (1,'a') (2,'b') (3,'c')
iterabl 可迭代对象
能够用for去操作的东西称为可迭代对象
列表生成器
累乘
mylist = [x*x for x in range(1,11)]
生成[1,4,9,16,25,36,49,64,81,100]
用普通for循环写: for x in range(1,11): mylist.append(x*x)
生成器
gen = (x*x for in range(1,11))
滞后的,使用next(gen)来获取值,或者用for进行遍历也可以: for x in gen : print(x)
注意:遍历完一次后就不能再遍历gen了,即:每一个元素只能拿一次。而且,没有下标,所以不能通过下标获取