首先Python是用对齐来表示代码逻辑,没有大括号了(被字典用掉了有木有)
if
x = 6
if x<0:
print 'x<0'
elif not x%2:
print 'x is odd number'
else:
print 'x is even number'
说明:1 这类逻辑判断,比如while,for都要记得末尾的:
2 一开始if 跟 elif不对齐,出错
while
count = 4
while count >0:
print 'loop %d'%(count)
count -=1
说明:1 while一直循环到条件为false或者0
for
说明:1 for想当于一个迭代器,是从已经有的集合中去逐条拿出,功能类似于Java中的for(Int a:XX) ,下面这种是错误的
i = 0
for i < 3 :
print i
i +=1
下面是for的一个运用(体会下for作为迭代器)
a = []
for i in range(9):
if i%2 == 0:
a.append(i)
print a
for j in [i for i in range(9) if i%2 == 0]:
print j
说明:1 解析
for j in [i for i in range(9) if i%2 == 0]:
这句话中,先生成一个1-9直接,偶数的列表,然后,for迭代来取
其中:for i in range(9) if i%2 ==0,这部分拿到了一个0,2,4,6,8的列表,然后通过前面的i 形成一个新的集合,供j迭代
再参看下面的代码
squared = [x**2 for x in range(9) if not x%2]
for i in squared:
print i
for j in [x**2 for x in range(9) if not x%2]:
print j
for x in range(9) if not x%2
这只是说x 的范围,至于最后形成的列表集合,是用x或者x**2来形成,都没关系
上述的结果为0,4,16,36,这说明x%2取的是奇数,not x%2取的是偶数
2 内联的range()
for i in range(3):
print i
输出 0,1,2
for i in range(1,9):
print i
输出1,2......9
读取文件
filename = raw_input('enter file name:')
fobj = open(filename,'r')
for i in fobj:
print i ,
fobj.close()
说明: 1 fobj是一个文件对象句柄,得到的是一个逐行的列表,里面是字符串
2 open参数,第一个是文件名,第二个是权限,r读取,w写,a添加