1,关于break break是终止最近的循环。
1 for i in range(10): 2 if i == 2: 3 break 4 print i 5 #以上,只打印0和1
2,在py2中,range函数返回一个列表
3,enumerate()
利用enumerate()函数,可以在每次循环中同时得到下标和元素:
S = 'abcdefghijk'
for (index,char) in enumerate(S):
print index
print char
实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char
4 zip函数
ta = [1,2]
tb = [9,8]
# cluster
zipped = zip(ta,tb)
print(zipped)#[(1,9),(2,8)]
# decompose
na, nb = zip(*zipped)
print(na, nb)#((1,2),(9,8))
5
1 def aa(): 2 pass 3 a = aa() 4 print type(aa)#<type 'function'> 5 print type(a)#<type 'nonetype'>,实际为函数返回值类型 6 7 def bb(): 8 yield 1 9 b = bb() 10 print type(bb)#<type 'function'> 11 print type(b)#<type 'genarator'>
6,
os是一个模块,但是os.path也是一个模块,难道os是一个模块包(由众多模块组成的文件夹)?不是os.path和os都是模块,os模块中有这样一句:import posixpath as path
查看模块路径:XXmodule.__file__
7,
允许如下操作
a=(1,2)
c,b=a
print c
8,在py3中,一般说来,像str()函数,对应于对象内部的__str__()方法,len()对应于对象内部的__len__()方法,getattr()函数与__getattr__()是相对应的
9,is是判断前后两个引用指向的是否为同一对象。而不是判断两个引用指向的对象是否相等,判断相等与否用==
比如a=(1,2) b=(1,2) a和b并不是同一对象,但是a==b
10
for i in range(10): print (i) print (i)#以上循环是一个常见的代码,通常这个i只是被用于循环,但是,它却是一个全局变量,并不是局部变量。这里将打印9
11
s = 'abcdefg'
print(s[0])
print(s[-2])
print(s[1:4])
print(s[1:4:2])
print(s[-1:1:-1])
print(len(s))
a
f
bcd
bd
gfedc
7