前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句。一. print和import的更多信息1.1 使用逗号输出a.打印多个表达式,用逗号隔开,会在每个参数之间插入一个空格符:
代码如下:
>>> print ‘age:’,42age: 42
b.同时输出文本和变量值,却又不希望使用字符串格式化:
代码如下:
>>> name = ‘peter’>>> greeting = ‘hello’>>> print greeting,’,’,namehello , peter
上面的例子中会在逗号前加入一个空格,我们可以这样优化:
代码如下:
>>> print greeting + ‘,’,namehello, peter
注意,如果在结尾处加上逗号,那么接下来的语句会与前一句在同一行打印:
代码如下:
>>> print ‘hello,’, print ‘world’hello,world
1.2 把某件事作为另一件事导入从模块导入函数时,可以使用:整个模块导入:import somemodule导入其中一个函数:from somemodule import somefunction导入其中几个函数:from somemodule import somefunction,anotherfunction,yetanotherfunction导入全部函数:from somemodule import *如果某2个模块都有相同名字的函数,比如叫open函数,那么可以这样给函数或者模块提供别名:
代码如下:
>>> import math>>> import math as foobar>>> foobar.sqrt(4)2.0>>> from math import sqrt as foobar2>>> foobar2(4)2.0
二. 赋值魔法就算是不起眼的赋值语句也有一些特殊的技巧。2.1 序列解包序列解包就是将多个值的序列解开,然后放到变量的序列中。
>>> #’多个赋值操作同时进行’>>> x,y,z = 1,2,3>>> print x,y,z1 2 3>>> #’交换2个或多个变量’>>> x,y = y,x>>> print x,y2 1>>> #’当函数或方法返回元组时’>>> s = {‘a’:1,’b’:2,’c’:3}>>> key,value = s.popitem()>>> print key,valuea 1最后一个例子可以看出,它允许函数返回一个以上的值并打包成元组,然后通过一个复制语句很容易进行访问。注意:解包的序列中元素数量必须和放置在赋值符合=左边的变量数量完全一致,否则会引发异常。2.2 链式赋值链式赋值是将同一个值赋给多个变量的捷径。>>> x = y = ‘sss’2.3 增量赋值增量赋值可以让代码更紧凑简练。对于+,-,*,/,%等标准运算符都适用:
>>> x = 2>>> x += 1>>> x *= 2>>> x6>>> #对其他数据类型也适用>>> f = ‘foo’>>> f += ‘bar’>>> f’foobar’三. 语句块:缩排的乐趣 语句块是条件为真时执行一次或多次的一组语句。在python中,冒号(:)用来标识语句块的开始,块中的每一个语句都是缩进的。当回退到和已经闭合的块一样的缩进量时,就表示当前块已经结束了。四. 条件和条件语句4.1 这就是布尔变量的作用下面的值在作为布尔表达式的时候,会被解释器看作假(false):false none 0 “” () [] {}其他的一切值都被解释为真,包括特殊值true。4.2 条件执行和if语句如果条件判断为真,那么后面的语句块就会被执行,也可以加入elif进行多个条件检查。作为if的一部分,还有else子句。当然,我们可以在if语句里面嵌套使用if语句。
代码如下:
num = input (‘enter a number? ‘)if num > 0: if num > 50: print”num > 50″ elif num > 10: print “num > 10” else: print “num > 0″else: print “num