5.1print和import的更多信息
#5.1.1使用逗号输出
print 1,2,3
print 1,
print 2 #上一行逗号则,本行与上一行同时打印
#输出结果
#1 2 3
#1 2
#5.1.2import把某件事件作为另一件事导入
import something
from somemodul import somefunction,...
import math as A #给math模块起名为A
from math import sqrt as A #给函数起别名
print A(4) #相当于sqrt
5.2赋值魔法
#5.2.1序列解包
x,y,z=1,2,3 #可以这样赋值
print x #输出结果 1
x,y=y,x #可以交换x,y,比C方便
print x,y,z #输出结果 2 1 3
values=1,2,3
x,y,z=values
print x #输出结果 1
#5.2.2链式赋值
x=y=1
z=3
print x,y,z #输出结果 1 1 3
#5.2.3增量赋值
x=2
x+=1 #相当于x=x+1
x*=2#相当于x=x*2
print x #输出结果 6
x="a"
x+="b"
x*=2
print x #输出结果 abab
5.3语句块:缩排的乐趣
5.4条件和条件语句
终于有语句了
#5.4.1这就是布尔变量的作用(boolean值,就是T&F值,因George Boole命名的)
print True #结果True
print False #结果False
print True+1 #结果2
print True==1 #结果True
print bool("dsa")#结果True 判断是否为空
print bool("")#结果False
#5.4.2条件执行和if语句
x="abcd efg hig hello world"
if x.endswith("world"):
print "found" #结果found
#5.4.3else子句
x="abcd efg hig hello world"
if x.endswith("a"):
print "found"
else:
print "not found" #结果"not found"
#5.4.4elif子句
num=123
if num<0:
print 1
elif num>0:
print 2 #结果2
else:
print 3
#5.4.5嵌套代码块
if num<0:
if num>-10:
print 1
elif num<-10:
print 2
else:
print 3
else :
print 4 #结果4
#5.4.6更复杂的条件
#1比较运算符 ==,<,>,<=,>=,!=,is,is not,in,not in
#2相等运算符
print "a"=="a"#结果 True
#3is:同一性运算符
x=y="a"
z="a"
print x is y#结果 True
print x is z #结果 True,不应该啊,应该输出FALSE啊。。。
#5字符串和序列比较
print "alpha"<"beta","a">"b"#结果 True False 按字母顺序比较
print [1,2]<[2,1]#结果 True
print [1,[1,2]]<[1,[1,3]]#结果 True
#6布尔运算符
num=5
if num<10 and num>1:
print 5 #结果 5
#5.4.7断言
x=10
assert 0<x<100 #不为真则在此报错
5.5循环
#5.5.1while循环
x=1
while x<=5:
print x
x+=1
"""
输出结果
1
2
3
4
5
"""
#5.5.2for循环
x=["a","b","c"]
for word in x:#循环判断是否包含字符
print word
"""
输出结果
a
b
c
"""
x=[1,2,3]
for number in x:#循环判断是否包含数字
print number
"""
输出结果
1
2
3
"""
for number in range(1,5):#打印1-4数字
print number
"""
输出结果
1
2
3
4
"""
#循环遍历字典元素
d={"a":"1","b":"2","c":"3"}
for key in d:
print key,"for",d[key]
"""
输出结果
a for 1
c for 3
b for 2
"""
for key,value in d.items():
print key,"for",value
"""
输出结果
a for 1
c for 3
b for 2
"""
#一些迭代工具
#1并行迭代
name=["a","b","c"]
age=[1,2,3]
for i in range(len(name)):#i迭代name序列个长度
print name[i],"is",age[i]
"""
输出结果
a is 1
b is 2
c is 3
"""
print zip(name,age)#输出结果[('a', 1), ('b', 2), ('c', 3)],zip打包两个序列
for name,age in zip(name,age):#解包元组
print name,"is",age
"""
输出结果
a is 1
b is 2
c is 3
"""
#2搜索引迭代
#3翻转和排序迭代
#跳出循环
#1break
from math import sqrt
for n in range(99,0,-1):#n从99到1,步长-1
root=sqrt(n)
if root==int(root):
print n #输出结果 81
break
#2.continue跳过剩余循环
'''
for x in seq:
if condition1:continue
...
...
'''
#3.while Ture/break
#5.5.6循环中的else语句
5.6列表推导式——轻量级循环
pass、del、exec
#5.7.1pass
if 5>10:
print "5>4"
elif 5<4:
pass #什么都不发生
elif 5==5:
print "5=5" #输出结果 5=5
#5.7.2 del
'''
x=1
del x
print x #会报错 因为删除了对象x
'''
#5.7.3 exec eval
#1.exec执行一个字符串
exec "print 'hello world'"
#2.eval计算Python表达式