《Python基础教程》[挪]Magnus Lie Hetland——学习笔记(5)

第五章  条件、循环和其他语句

5.1 print/import语句

       print          表达式1,表达式2,表达式3……  #输出之间用逗号隔开

       import         从其他文件导入

                            >>>from module import function1,function2…

                            >>>from module import *      #导入所有功能

                            >>>module1.function()

                            >>>module2.function()        #同名区分来源

                            >>>from math import sqrt as foobar

                            >>>import math as mathtool   #提供别名

5.2 赋值

>>> x,y,z=1,2,3           #同时赋值,数目相等

>>> print x,y,z

1 2 3

>>> x,y=y,x         #交换,序列解包

>>> Key,value=字典.popitem()

>>> x=y=somefunction()  #链式赋值,相当于y=function(),x=y

>>> print x+=1,y*=2      #增量赋值

5.3 语句块

       加缩进,以冒号开始,每一句缩进量相同

5.4 条件语句

       布尔值:假  E      False None 0 “ ” () [] {}     注:等同但不相等

       布尔函数:bool()  E  将变量/字符串/元组/序列…转换为true/false

       if语句:if 条件:

                            执行1

                            执行2

                            …

 

              if…else…语句:        if…elif…else…语句:              嵌套语句:

              if 条件:                          if 条件1:                              if …… :

                     执行1                               执行1                                      if …… :

              else:                                   elif 条件2:                                         ……

                     执行2                               执行2                                      else:

                                                        else:                                                        ……

                                                               执行3                               else:

                                                                                                                ……

       条件判断

              x==y                 x=y,反应相等性

              x is y                x,y是同一个对象,反应同一性

              x in y                  x是y的成员

              x!=y                x和y不相等

              字符串比较        逐位按表比较,序列同理

              例:x=y=[…],z=[…],此时x==y,x==z均为true,但x is y:true,x is z:false

       布尔运算符  and,or,not 可以加()作优先级,注意短路执行的情况,因

为执行顺序有先后    

       断言  assert语句,用于检查程序,一旦出现假,程序崩溃

                     相当于>>>if not condition

                                           crash program

5.5 循环

       while 条件:

              执行1

              执行2

              …                  #一定要跳出条件

       for ... in …s:   #应当为可迭代对象,如序列、字典等

              执行1

              执行2

              …

       例:循环遍历字典

迭代工具

              并行迭代     i,j等标准循环索引变量名

                            也可以利用zip函数,以短序列长度为截止长度

                            name=[…],ages=[…]

                            zip(names,ages)=[(name1,age1),()…]

                            for name,age in zip(names,ages)

                                   print …

              编号迭代

       跳出循环

              用break       对于for循环:for i in range(1,10,2)

                                                                      ……

                                                                      if ……:

                                                                             break

                                   while里面也可以加break,break后可以加else,仅在没调用break时执行

                                   步长表示

                                          Range(0,10,n):步长为n,不包括10,n<0,应当倒序

              用continue 跳出本次循环并执行下一次循环

5.6 列表推导式—轻量级循环,利用其他列表循环创建新的列表

>>> [x*x for x in range(10)]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> [(x,y) for x in range(2) for y in range(3)]

[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]

5.7 其他语句

       pass       空代码块不写执行条件可以直接加pass结束,不屑内容为非法

       del         删除变量名称(值仍在)x=1,del x 则x无法读取

       exel       执行字符串里合法的Python代码

       eval       计算字符串中合法的表达式

猜你喜欢

转载自blog.csdn.net/JackSparrow_sjl/article/details/81218112
今日推荐