一.print语句
print语句后面可以接任何类型,多个表达式用逗号隔开。(python3.0之后,print变成函数)
list=[123,'Marry']
print 'Tom' , 10 , list
二.import语句
参考后文模块部分。
三.赋值语句
1. 序列解包
当对象是一个序列(列表,元组,字符串等)或者其他可迭代对象时,且等号左侧的变量与右侧序列中元素个数相同时,则可以直接将序列中的元素赋值给左侧变量。
- 多值赋值:
a,b,c=1,2,3 #此处实际为元组
print a,b,c
#结果为 1 2 3
- 变量交换:
a=1
b=2
a,b=b,c
print a,b
#结果为 2 1
Ps.Python3.0可以在等号左侧使用 * 号,进行局部赋值。
a,b,*c=(1,2,3,4)
print a,b,c
#结果为 1 2 (3,4)
2. Python支持链式赋值 x=y=z=1
3. 增量赋值
Python不支持 “i++”语句,自增长操作需要将运算符提到等号前面,如i+=1
四.条件语句
1. 关于布尔值的说明
Python认为以下7个值均为假值,其他所有值都为真。
- False
- None
- 0(数值)
- “” (空字符串)
- ()(空元组)
- [](空列表)
- {}(空字典)
2. 条件语句:
基本格式如下,注意不要忘记冒号!!!
if 条件表达式 :
执行语句……
else:
执行语句……
或者(注意是elif ,不是elseif)
if 条件表达式1:
执行语句1……
elif 条件表达式2:
执行语句2……
elif 条件表达式3:
执行语句3……
else:
执行语句4……
五. 循环语句
Python提供2种循环语句,包括while循环和for循环,注意Python不支持do--while循环。
1. while循环
满足条件则进入循环,同样不要忘记冒号!!!
while 条件表达式:
执行语句……
或者如下结构,循环正常结束时,会执行一次else中的语句,当以break语句结束循环时,不会执行else中的语句。
while 条件表达式:
执行语句……
else:
执行语句2
2. for循环
如果说while是一般循环,那么for循环主要用于遍历可迭代对象。
for 变量 in 容器:
执行语句
或者(elif用法同while的一样)
for 变量 in 容器:
执行语句1
else :
执行语句2
例1:使用变量迭代
seq=[a,b,c]
for var in seq:
print var
例2:使用下标迭代
内置函数range(low,high),返回一个从low开始到high(不包含high)的步长为1的有序序列,默认low=0则可以省略。
seq=[a,b,c,d]
for i in range(len(seq)):
print seq[i]
注意:在使用for循环迭代字典的时候,顺序是不确定的,因为字典本身顺序就是不确定的,如果字典顺序很重要的话,可以使用dict.items()方法,将字典保存在列表中,排序后再输出。
例3:遍历字典
dict={'a':1,'b':2,'c':3}
for key in dict:
print dict[key]
例4:遍历字典
dict={'a':1,'b':2,'c':3}
for key,value in dict:
print key,value
3. 更好用的迭代技巧
1.并行迭代
同时迭代2个序列的时候,可以使用下标迭代法,同时迭代2个序列的同一个位置
for i in range(len(seq1)):
print seq1[i],seq2[i]
更好的方案是使用内建函数zip(seq1,seq2,...)。zip函数会返回一个列表,列表中的元素是参数中所有的序列对应位置元素组成的元组,然后使用序列解包,就可以迭代。若zip的参数中的序列不等长,则zip只会合并到最短序列的位置后就停止。
l1=[1,2,3,4,5,6]
l2=[3,4,5,6,7,8]
l3=[2,3,4,5,6,7,8]
for k,v,w in zip(l1,l2,l3):
print k,v,w
#输出结果为:
#1 3 2
#2 4 3
#3 5 4
#4 6 5
#5 7 6
#6 8 7
- 内建函数 sorted(seq),可以对任何序列进行排序
- 内建函数reversed(seq),可以对任何序列进行反转
4.循环控制语句
- break语句:跳出循环结构(注意与else之间的搭配关系)
- continue语句:结束当前循环,进行下次循环
- pass语句:什么都不做,占位,只是为了逻辑完整性
六.删除语句
del语句主要用于删除操作,应用场景主要有2个。
- 删除可变类型(列表和字典)的元素
举个栗子
dict={'a':2,'b':4,'c':6}
del dict['b']
print dict
#结果为:{'a': 2, 'c': 6}
- 删除变量绑定
python的del不同于C的free和C++的delete。由于python都是引用,所以del语句作用是解除变量与对象之间的绑定,并且删除变量名,使对象的引用计数器减一,而不是释放对象。
举个栗子
dict={'a':2,'b':4,'c':6}
d2=dict
del dict
print d2
#结果为:{'a': 2, 'c': 6, 'b': 4}
可以看到,对象并没有被删除。