首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

7.Condition,Loops and Statement BeginPython笔记

本文是《Python基础教程(第2版 修订版)》第 5 章 条件、循环和其他语句 的笔记,简要介绍了Python中的序列解包,链式赋值,比较运算符,布尔运算符,zip、enumerate,列表推导式,exec和eval等内容。

1. print

对很多应用程序而言,使用模块记日志会比语句更合适。

用逗号分隔可以打印多个表达式。如果在结尾处加上逗号,那么接下来的语句会与前一个语句在同一行打印。但只在脚本中有用,在交互式Python会话中则没有效果

2. import

从模块中导入函数,通常可以使用:

只有确定需要给定模块中的所有功能时,才应该使用。

当两个模块均含有同一个函数时:

通过导入,采用、调用。

使用子句。

3. assignment

3.1 sequence unpacking

将多个值的序列解开,然后放到变量的序列中,即序列解包或递归解包。

可以将多个赋值操作同时进行。也可以同时交换两个或者多个变量。

在Python3中可以使用星号运算符进行解包。

3.2 chained assignments

链式赋值是将同一个值赋值给多个变量的捷径。只处理一个值。

3.3 augmented assignments

对于、、等标准运算符,都适用增量赋值。例如。

4. Conditions

4.1 比较运算符

标准值、、所有类型的数字0(包括浮点型、长整型和其他类型)、空序列(如空字符串、元组和列表)以及空的字典都为假。

Python中的比较运算符:

: x 等于 y

: x 小于 y

: x 大于 y

: x 大于等于 y

: x 小于等于 y

: x 不等于 y

: x 和 y 是同一个对象

: x 和 y 是不同的对象

: x 是 y 容器的成员

: x 不是 y 容器的成员

比较运算符和赋值运算一样是可以连接的,例如:

比较对象的时候可以使用内建的函数。

运算符是判断同一性,而非相等性。应避免用运算符比较类似数值和字符串这类不可变值。

字符串可以按照字母顺序排列进行比较。其他序列和包含其他序列元素的序列也同样适用。

4.2 布尔运算符

布尔运算符:、、

短路逻辑或惰性求值: 布尔运算符只有在需要求值时才进行求值:

表达式: x为假,则返回x的值,否则返回y的值。

表达式: x为真,则返回x的值,否则返回y的值。

Python内置的条件表达式: 。b为真,返回a,否则返回c。

断言:可以在错误条件出现时直接让程序崩溃。条件后可以添加字符串,解释断言。

5. Loop

5.1 while 和 for

语句可以在任何条件为真时重复执行一个代码块。语句更适合为一个集合(序列或其他可迭代对象)的每个元素都执行一个代码块。

函数的工作方式类似于分片,包括下限,但不包括上限。与函数的区别在于,函数一次创建整个序列,而函数一次只创建一个数。因此在需要迭代一个巨大的序列时,函数会更高效。

循环最后的子句,仅在没有调用时执行。

循环遍历字典元素:

5.2 一些迭代工具5.2.1 zip

函数,并行迭代:同时迭代两个序列。函数可以把两个序列“压缩”在一起,返回一个元组的列表。可以处理不等长的序列,直到最短的序列结束为止。

5.2.2 enumerate

函数,按索引迭代:迭代访问序列中的对象,同时获得当前对象的索引。函数可以提供索引的可迭代索引-值对。

5.2.3 reversed函数和sorted函数

函数和函数,翻转和排序迭代:作用于任何序列或可迭代对象,返回翻转或排序后的版本。函数返回的是列表,但是函数返回的是一个可迭代对象。

6. list comprehension

列表推导式:利用其它列表创建新的列表。

7 执行存储在字符串中的Python代码

7.1 exec执行一个字符串的语句

执行一个字符串的语句。在Python3中是一个函数,而非语句。

语句的好处在于可以动态地创建代码字符串。

安全起见,可以增加一个字典,起到命名空间的作用。通过增加 来实现,其中的就是起放置代码字符串命名空间的作用。

字典中内建的字典自动包含所有的内建函数和值。

7.2 eval计算以字符串形式书写的Python表达式

会计算以字符串形式书写的Python表达式,并返回结果值。语句不返回任何对象,因为本身就是语句。

可以使用命名空间。可以给语句提供两个命名空间,一个全局的一个局部的。全局的必须是字典,局部的可以是任何形式的映射。

给或语句提供命名空间时,还可以在真正使用命名空间前放置一些值进去。

同理,或者调用的作用域也能在另外一个上面使用。

Python内没有任何执行不可信任代码的安全方式。一个可选方案是使用Python的实现,如,以及使用一些本地机制,如Java的功能。

8. Others

程序什么都不用做,但是空代码块又是非法的,此时可以在语句块中加上语句。可以在代码中做占位符。

使用语句,不仅会移除一个对象的引用,也会移除那个名字本身。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304G18MHH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券