python 学习笔记 四 条件, 循环以及其他
逗号输出
print语句可以用来打印由逗号隔开的多个值, 如果语句以逗号结尾, 后面的print语句会在同一行继续打印. 如果想同时输出文本和变量而又步想使用格式化, 这个特性就非常有用了.
>>> age = 42
>>> print 'Age:', age
>>> Age: 42
每个参数间会自动加上空格.
模块导入
1.从模块导入函数可以使用:
import module
或者
from module import function
或者
from module import function1, function2, ...
或者
from module import *
只有确定要从模块导入所有功能时草应该使用最后一个.
2.若导入的俩个(或多个)模块具有都具有一个open函数, 这时我们可以使用第一种方式导入, 然后这样调用函数:
module1.open()
module2.open()
或者为函数起个别名:
from module import function_name as new_name
赋值语句的技巧
1.同时进行多个赋值
>>> x, y, z = 1, 2, 3
>>> print x, y, z
1 2 3
2.交换俩个变量
>>> x, y = y, x
>>> print x, y, z
2 1 3
事实上, 上面所做的事情叫序列解包(sequence unpacking)---将多个值的序列解开, 然后放到变量的序列中:
>>> values = 1, 2, 3
>>> values
(1, 2, 3)
>>> x, y, z = values
>>> print x, y, z
1 2 3
这个特性在函数或方法返回元组(或其他可迭代对象)时非常有用.
条件语句
条件测试为假的情况:
False None 0 " " ( ) [ ] { }
从下面的代码可以看出条件语句的一般格式:
num = input('Eter a number: ') if num > 0: print 'The number is positive' elif num < 0: print 'The number is negative' else: print 'The number is zero'
布尔运算符
python中用and, or, not表示与或非, 相当于c语言中的&& || !.
断言
让程序在错误条件出现是崩溃, 关键词assert
assert condtion
...
循环
while循环, 看例子:
x = 1 sum = 0 while x <= 100: sum += x
for循环:
for num in range(0, 10): # 生成一个0-9的列表 print num
python的循环中的是可以添加else语句, 看这个例子:
for num in range (0, 10): if num == 5: print num break else: print "Can't find it!"
else语句仅在没有调用break时执行, 也就是说for循环正常结束.
列表推导式(list comprehension)
利用其他列表创建新的列表, 例:
>>> [x*x for x in range(1, 5)]
[1, 3, 9, 16]
列表由range(1, 5)中每个数的平方生成.
pass, del, exec和eval
1.pass
pass语句上面也不做, 可以在代码中做占位符使用, 因为在Python中空代码块是非法的.
2.del
del不仅会移除一个对象的引用, 也会移除那个名字本身.
>>> x = 1
>>> del x
>>> x # NameError: 'x' is not defined
但这里并没有删除值, 例如:
>>> x =["Hello", "world"]
>>> y = x
>>> y[1] = "Python"
>>> x
['Hello', 'Python']
>>> del x
>>> y
['Hello', 'Python']
x和y指向同一个列表, 但删除x并步影响y, 这是因为删除的只是名称, 而不是列表本身(值). 事实上, 在Python中是没有办法删除值的, 某个值不再使用, Python解释器会负责内存的回收.
3.exec
执行一个字符串的语句
4.eval
计算字符串形式书写的python表达式.