第五章-条件、循环和其他语句——python基础教程(第二版)笔记

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表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值