首页 > 代码库 > python学习笔记七:条件&循环语句
python学习笔记七:条件&循环语句
1、print/import更多信息
print打印多个表达式,使用逗号隔开
>>> print ‘Age:‘,42
Age: 42 #注意个结果之间有一个空格符
import:从模块导入函数
import 模块
from 模块 import 函数
from 模块 import *
如果两个模块都有open函数的时候,
1)使用下面方法使用:
module1.open()...
module2.open()...
2)语句末尾增加as子句
>>> import math as foobar
>>> foobar.sqrt(4)
2.0
2、赋值
1)序列解包:多个赋值同时进行,适用于当函数或者方法返回元组(或者其他序列或可迭代对象)时
>>> x, y, z = 1, 2, 3
>>> print x, y, z
1 2 3
典型应用场景:
>>> scoundrel = {‘name‘: ‘Robin‘, ‘girlfriend‘:‘Marion‘}
>>> key, value = http://www.mamicode.com/scoundrel.popitem()
>>> print key, value
girlfriend Marion
2)链式赋值:将同一个值赋给多个变量
x = y = somefunction() 类似于
y = somafunction()
x = y
3)增量赋值:x+=1,对于*,/,%等标准运算符都适用
3、语句块缩排
推荐的方式:使用空格,缩进需要4个空格
4、条件和条件语句
1)布尔真值:在python中None、{}、""、[]、()都被视为假
2)if/else语句:
name = raw_input(‘What is your name?‘)
if name.endswith(‘Alex‘):
print ‘Hello, Mr. Alex‘
else:
print ‘Hello, stranger‘
3)elif语句:也就是else if的简写
name = input(‘Enter a number: ‘)
if num > 0:
print ‘The number is positive‘
elif num < 0:
print ‘The number is negative‘
else:
print ‘The number is zero‘
5、条件相关
== :相等运算符,两个等号
is:同一性运算符,是同一个对象
>>> x = y = [1, 2, 3]
>>> z = [1, 2, 3]
>>> z == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
如上例,x和z相等但却不是同一个对象
总结:使用==运算符来判定两个对象是否相等,使用is使用来判定两者是否等同
in:成员资格运算符
布尔运算符:add or not
断言:确保程序中的某个条件一定为真才能让程序正常执行
>>> age = -1
>>> assert 0<age<100, ‘The age must be realistic‘
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: The age must be realisti
循环:
1)while循环:
x = 1
while x <= 100
print x
x +=1
两个字符串方法:isspace() 检查字符串是否只有空格组成
strip() 去掉字符串两边空格
2)for循环:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in numbers:
print number
两个函数:range函数 一次创建整个序列
xrange 一次只创建一个数
3)循环遍历字典元素
d = [‘x‘:1, ‘y‘:2, ‘z‘:3]
for key, value in d.items():
print key, ‘corresponds to‘, value
4)迭代工具
a. 并行迭代,使用内建zip函数,把两个序列“压缩”在一起,然后返回一个元组的列表
>>> names = [‘anne‘, ‘beth‘, ‘george‘, ‘damon‘]
>>> ages = [12, 45, 32, 102]
>>> zip(names, ages)
[(‘anne‘, 12), (‘beth‘, 45), (‘george‘, 32), (‘damon‘, 102)]
>>> for name, age in zip(names, ages): print name, ‘is‘, age, ‘years old‘
...
anne is 12 years old
beth is 45 years old
george is 32 years old
damon is 102 years old
b. 按索引迭代,使用内建enumerate函数
names = [‘anne‘, ‘beth‘, ‘george‘, ‘damon‘]
for index, name in enumerate(names):
if ‘anne‘ in name:
names[index] = ‘alex‘
5)跳出循环:
break:结束循环
continue:结束当前的循环,“跳”到下一轮循环
whileTrue/break
6)循环中的else子句:
from math import sqrt
for n in range(99, 81, -1):
root = sqrt(n)
if root == int(root):
print n
break
else:
print "Didn‘t find it!"
6、轻量级循环-列表推导式:用其他列表创建新列表
>>> [x * x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> [x * x for x in range(10) if x % 3 == 0]
[0, 9, 36, 81]
本文出自 “鹰之眼” 博客,请务必保留此出处http://eagle2014.blog.51cto.com/7992740/1918279
python学习笔记七:条件&循环语句