转载

python基础教程学习笔记---(5)条件、循环和其他语句

1、使用逗号输出

使用逗号隔开,可以打印多个表达式。打印后,各项之间自动以一个空格隔开。

python基础教程学习笔记---(5)条件、循环和其他语句

也可以同时输出文本和变量值。

python基础教程学习笔记---(5)条件、循环和其他语句

python基础教程学习笔记---(5)条件、循环和其他语句

可以和字符串连接符“+”一起使用。

2、从模块中导入函数

从模块导入函数的方法:

import somemodule

from somemodule import somefunction

from somemodule import somefunction,anotherfunction,yetanotherfunction

from somemodule import *(从给定的模块中导入所有的功能)

如果想导入的两个模块都有某一函数,那么可以这样:

module1.function(……)

module2.function(……)

或者这样:

from module1 import function as function1

from module2 import function as function2

3、赋值魔法

(1)序列解包

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

python基础教程学习笔记---(5)条件、循环和其他语句

通过popitem方法完成的序列解包。

python基础教程学习笔记---(5)条件、循环和其他语句

序列解包——或者称为可选代解包,将多个值的序列解开,然后放到变量的序列中。

python基础教程学习笔记---(5)条件、循环和其他语句

注意,赋值符号(=)左右的变量和值的数目应该是完全一致的。

python基础教程学习笔记---(5)条件、循环和其他语句

(2)链式赋值

链式赋值(chained assignment)是将同一个值赋给多个变量的捷径。

x=y=somefunction()

和下面语句的效果是一样的:

x=somefunction()

y=x

但是这两组语句和下面的语句不一定等级:

x=function()

y=funcition()

(3)增量赋值

增量赋值运算符:*=,+=

python基础教程学习笔记---(5)条件、循环和其他语句

4、语句块

使用缩进符来创建语句块。

可以使用的缩进符:TAB键,4个空格,8个空格

一个程序中只能使用一种缩进符。

一般来说,使用4个空格是最规范的。

同一语句块中所有语句应该有相同的缩进量。

在python中,冒号来标识语句块的开头,以同一缩进符停止标识该语句块的停止。

5、条件语句

(1)布尔值:

假(Flase):标准的Flase,None,所有类型的数字0(浮点型、长整型、其他类型等),空序列(空字符串、空元组、空列表)、空字典都是假。

真(True):除上面的假意外的都是真,包括特殊值True。

标准的布尔值为True和Flase,或者说是1和0。

如果某个逻辑表达式返回1或者0,实际表示的意思就是返回True或者False。

尽管''和0都是假值,但是它们本身并不相等。

python基础教程学习笔记---(5)条件、循环和其他语句

Pyhton是区分大小写的,对像Flase和True有严格的大小写要求。

布尔值True和False属于布尔类型,bool函数可以用来将其他值转换成布尔值。

python基础教程学习笔记---(5)条件、循环和其他语句

(2)条件语句

if语句、else语句、elif语句

python基础教程学习笔记---(5)条件、循环和其他语句

一定要记得冒号,没有then一说。

raw_input函数接收的输入都自动保存为了文本型。所以使用input接收输入,也可以使用int(raw_input(……))来接受输入。

另外,if语句里面可以进行嵌套if语句。

可以不写最后一个else语句,那么遗漏的对象就自动被忽略掉。

(3)比较运算符:

python基础教程学习笔记---(5)条件、循环和其他语句

(4)相等运算符:==

(5)同一运算符:is

python基础教程学习笔记---(5)条件、循环和其他语句

is运算符判断的是同一性而不是相等性。变量x和y都绑定到同一个列表上,所以x与y既相等又满足同一。而变量z被绑定到另外一个具有相同数值和顺序的列表上,它们值相同,但是并不是同一个对象。

使用is(is not)判断两者的同一性(是否是同一个对象),使用==(!=)来判断两者的相同性(是否相等)。

要避免使用is运算符对两个不可变值(字符串或者数)进行比较。

(6)in:成员资格运算符

(7)字符串和序列的比较:>,<,是按字母顺序进行比较的。

python基础教程学习笔记---(5)条件、循环和其他语句

如果字符串内是大小写字母混合,也会进行区别比较,毕竟python是区分大小写的。

python基础教程学习笔记---(5)条件、循环和其他语句

如果不想收大小写影响,则可以使用upper()和lower方法进行相关转换后再进行比较。

字母都是有顺序的,一个字母的顺序值可以通过ord函数查询到。ord函数和chr函数功能相反。

其他序列类型也可以进行比较,规则一样。

python基础教程学习笔记---(5)条件、循环和其他语句

(8)条件的连接

用and连接。

python基础教程学习笔记---(5)条件、循环和其他语句

6、循环语句

(1)while循环

python基础教程学习笔记---(5)条件、循环和其他语句

在条件为真的情况下重复执行一个代码块,直至条件不为真。注意用冒号。

(2)for循环

指定一个循环范围,在这个范围内重复执行一个代码块。注意用冒号。

python基础教程学习笔记---(5)条件、循环和其他语句

python基础教程学习笔记---(5)条件、循环和其他语句

(3)循环遍历字典元素

python基础教程学习笔记---(5)条件、循环和其他语句

python基础教程学习笔记---(5)条件、循环和其他语句

(4)一些迭代工具

A、并行迭代

python基础教程学习笔记---(5)条件、循环和其他语句

可以使用内建的zip函数将两个序列压缩在一起,返回产生一个元组的列表。然后再循环中解包元组。

zip函数可以用于任意多的序列,也可以应付不等长的序列,以最短的序列作为列表的长度。

python基础教程学习笔记---(5)条件、循环和其他语句

B、翻转和排序迭代

两个有用的方法:reversed方法和sorted方法。

他们可以作用于任何序列或者可迭代对象上,不是原地修改对象,而是返回翻转或排序后的版本。

sorted返回列表,reversed方法则返回一个可迭代对象。

python基础教程学习笔记---(5)条件、循环和其他语句

(5)跳出循环

A、break

break语句用户跳出/结束循环。

B、continue

结束当前循环,跳到下一轮循环的开始。

C、while True/break

python基础教程学习笔记---(5)条件、循环和其他语句

为了实现这样一个功能,可以有:

python基础教程学习笔记---(5)条件、循环和其他语句

也可以有:

python基础教程学习笔记---(5)条件、循环和其他语句

while True是一个永远都不会自己停止的循环。只有在循环内部加入if判断语句在加上break语句,当满足一个预设的停止循环条件时,才会终止循环。

(6)循环中的else子句

可以使用布尔变量检查中途是否跳出循环。

python基础教程学习笔记---(5)条件、循环和其他语句

也可以给for循环加一个else子句,else子句当且仅当没有调用break时才执行。

但是这个for循环一定需要是一个有限循环。

python基础教程学习笔记---(5)条件、循环和其他语句

(7)列表推导式——轻量级循环

列表推导式是利用其它列表创建新列表的一种方法。其工作方式类似于for循环。

python基础教程学习笔记---(5)条件、循环和其他语句

创建新列表中可以使用单个for循环,也可以使用多个循环,还可以搭配if条件使用。

只有列表推导式,没有元组推导式,因此将这里的方括号换成圆括号,在2.3版本之前会报错,之后会产生一个迭代器。

7、几个特殊的语句:

(1)pass语句

用作测试占位使用。

python基础教程学习笔记---(5)条件、循环和其他语句

这时候如果调试起来就会产生错误。

这里,如果使用pass语句,就可以在通过语法要求而且不产生其他作用。

python基础教程学习笔记---(5)条件、循环和其他语句

(2)del语句

python基础教程学习笔记---(5)条件、循环和其他语句

通过将a赋值为None,是隔断了a与列表['a12','b34','c456']之间的指向联系。但是a作为一个对象仍然飘在内存中。

这时候需要使用del语句,将对象a删除掉。

python基础教程学习笔记---(5)条件、循环和其他语句

对于列表['a12','b34','c456']这个在python中是无法删除掉的。我们使用del语句仅仅是移除一个对象的引用和这个对象的名字本身。当这个列表不再使用时,python解释器会负责进行内存的回收。

(3)exec语句

exec语句用于执行存储在字符串中的python代码,但是这样的话存在一定的漏洞。具体的说,如果程序将用户提供的一段内容中的一部分字符串作为代码执行,程序就可能失去了对代码执行的控制。

所以,对exec语句需要加一个命名空间,或者说是作用域。

exec语句最有用的地方在于可以动态地创建代码字符串。

python基础教程学习笔记---(5)条件、循环和其他语句

(4)eval语句

eval语句用于求值,它是类似于exec的内建函数。exec语句会执行一系列python语句。而eval会计算python表达式,并返回结果值。exec语句不返回任何对象。

python基础教程学习笔记---(5)条件、循环和其他语句

和exec语句一样,eval也可以使用命名空间。

8、小结:

python基础教程学习笔记---(5)条件、循环和其他语句  

python基础教程学习笔记---(5)条件、循环和其他语句

正文到此结束
Loading...