Python的控制语言

Python 流程控制之If语句

if 条件测试表达式

Python 的比较操作
所有的Python 对象都支持比较操作
1,可用于测试相等性,相对大小等。
2,如果是复合对象,Python会检查其所有部分,包括自动遍历各级嵌套对象,直到可以得出最终结果。

测试操作符
1,"==" 操作符测试值的相等性
2,“is” 表达式测试对象的一致性

Python中不同类型的比较方法
1,数字:通过相对大小进行比较
2,字符串:按照字典次序逐字进行比较
3,列表和元组:自左至右比较各部分内容
4,字典:对排序之后的(键,值)列表进行比较

Python中真和假的含义
1,非零数字为真,否则为假
2,非空对象为真,否则为假
3,None则始终为假

组合条件测试
x and y :与运算
x or y:或运算
not x :非运算
1,and
2, or
3, not:返回True 或 False

注意:Python 中,and 和 or 运算会返回真或假的对象,而不是True或False
1, 对象在本质上不是"真",就是"假"

and 和 or 是短路操作符

iF 测试的语法结构
1, if boolean_expression1:
suite1
2, elif boolean_expression2:
suite2

3,else:
else_suite

   4,elif:语句是可选的

   5,仅用于占位,而后再填充相关语句时,可以使用pass

if/else 三元表达式

A = x if y else z
表达的意思是:当 y 表达是的条件满足了,则A 等于 x
否则 A 就等于 z
a = 7
b = 9
if a > b:
a = y
else :
a = z

赋值方式:
a = 7
b = 9
比如: max = a if a > b else b
其通用条件表达式语法格式为:
expression 1 if boolean_expression else expression2
如果boolean_expression的值为True ,则条件表达式的结果为 expression1,否则为expression2

print max 
输出结果为 9

Python 流程空的while 和 for循环

while 循环
1,用于编写通用迭代结构
2,顶端测试为真,即会执行循环体,并会重复多次测试知道为假后执行循环后的其它语句
for 循环
1,一个通用的序列迭代器,用于遍历任何有序的序列对象内的元素
2,可用于字符串,元组,列表和其它的内置可迭代对象,以及通过类所创建的新对象

Python也提供了一些能过进行隐性迭代的工具
1,in 成员关系测试
2,列表解析
3,map,reduce 和filter 函数

while 循环
语法格式:
while boolean_expression:
while_suite
else:
else_suite
1, else 分支为可选部分
2, 只要boolean_expression的结果为True ,循环就会执行;
3, boolean_expression的结果为False时终止循环,此时如果有else分支,则会执行。

while :
while bool_expression:
while_suite
else:
else_suite
break:跳出最内层的循环;
continue:跳到所处的最近层循环的开始出;也就是下一个循环
pass:点位语句
else 代码块:循环正常终止才会执行;如果循环终止是由break 跳出导致的,则else不会执行;

For 循环
for expression1 in iterable(可迭代对象):
for_suite
else :
else_suite
1,通常,expression或是一个单独的变量,或是一个变量序列,一般以元组的形式给出。
2,如果以元组或列表用于expression,则其中的每个数据项都会拆分到表达式的项,
例如:
T=[(1,2),(3,4),(5,6),(7,8)]
for (a,b) in T:
print a,b

xrange 跟 range 的区别
xrange 会一个一个的吐出一个值
range 会先生存一个序列出来

一, For 循环比while 循环执行速度快
二, Python 提供了两个内置函数,用于在For 循环重定制特殊的循环
1,range 或 xrange
range :一次性地返回连续的整数列表
xrange : 一次产生一个数据元素,相较于range更节约空间
2,zip
返回并行的元素元组的列表,常用于在For循环重遍历数个序列

        1)。取得一个或多个序列为参数,将给定序列中的并排的元素配成元组,返回这些元组的列表
              当参数长度不同时,zip会以最短序列的长度为准
        2)。可在for循环重用于实现并行迭代
             L1 = [1,2,3,4,5,6,7]
             L2 = ['a','b','c','d','e','f','g']
           zip(L1,L2)
          此为输出结果: [(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e'),(6,'f'),(7,'g')]

         3) 。zip也常用语动态构造字典
            keys = [1,2,3,4,5,6,7]
            values = ['Mon','Tus','Wed','Thu','Fri','Sat'.'Sun']
            D = {}
            for (k,y) in zip (keys,values):D[k] = y

         4) 。产生偏移后的记过

Python
1,动态语言
sys.getrefcount()
增加对象的引用计数场景;
对象创建时;
将对象添加进容器时;list.append
当对象被当做参数传递给函数时
s1 = s2 = s3 = ‘abc’
s1 = ‘abc’
减少引用计数:
引用此对象的某变量名被显式销毁:del x
给引用此对象的某变量名被设定为引用了其它对象
从容器中移除对象时,类似list.pop()
容器本身被销毁
2,if boolean_expression:

     elif boolean_expression:
         ...
          
     else
         ...
  3, while 
       while boolean_expression:
          while_suite
             if boolean_expression2:continue
             if boolean_expression3:break
        else:
            else_suite
  4, for
      for expression in object
        for_suite
        if boolean_expression2:continue
        if boolean_expression2:break
       else:
           else_suite

死循环:while True:

例子:
In [89]: test=[]

      In [90]: while True:
                 x = raw_input('Enter an entry:')
              if x == 'q' or x == 'quit':
                 break
              else:
                  test.append(x)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值