Python基础知识系列——条件和循环语句

写在前面

各位大大,下午好!又到了新的一期文章更新之时,希望你还在。上一期文章中,小编已经介绍过在这期文章中,小编将重点介绍一下Python之中的语句,尤其是对条件语句以及循环语句进行介绍(其实任何编程语言都具有条件语句以及循环语句,无非是各种语言所采用的关键字不同罢了)。如果说前面几期的文章所介绍的都是食材的话,那么这一期文章内容所涉及到的知识绝对可以称得上是食谱。通过了解Python中的各种语句,你就可以顺风顺水地操作这些Python对象。好了,小编话不多说,下面正式进入本期主题。

目录

第一话:Python语句简介1.1 print和import1.2 赋值语句第二话:条件语句2.1 基本条件语句2.2 条件语句的嵌套2.3 常用的判断运算符第三话:循环语句3.1 while语句和for语句3.2 zip函数和enumerate函数3.3 break语句3.4 列表解析(列表推导)后记

第一话:Python语句简介

1.1 print和import

在前面几期文章中,笔者用的最多的两条语句可能就是这两条了(确切地说,自从引入Python3以来,print严格意义上已经不再属于语句,而是属于函数的范畴了,不过这里为了兼顾Python2的朋友,同时考虑到print函数应用的广泛性,这里便将其纳入到这里进行介绍了)。所以介绍语句,笔者一直觉得如果不先对这两条语句进行介绍的话,那么就愧对这两条语句的神辅助了。

print同时打印多条语句

正如其函数名称的释义一样,print函数用来打印一个表达式,这个表达式一般表现为字符串形式。最简单的形式就是,你问我为什麼这条语句是最简单的语句,因为任何编程语言中的第一条语句都是输出‘hello world’。当然,如果print语句仅仅只能打印这种单条语句的话,笔者这里就不会将其放在这里再一次着重讲解了。print语句完全可以很方便地打印多条语句:

使用print语句打印多条语句仅仅需要将各个语句用“,”号隔开就可以了,所以没有什麼太困难的地方不是嘛。除了这种用法之外,print语句还经常会采用以下三种用法:

相信这几个例子可以很明确地让你了解到了这几种方式,下面笔者介绍import。

import导入Python库

import语句用来导入Python中的库,这个语句绝对是你最为常用的语句之一,Python正是库组成,所以你总是需要导入使用它们不是。这里介绍几种常用的导入方式:

不过这里要提醒一点,在Python中同一个库只能导入一次,在导入之后如果对原库进行了修改想再次导入,使用语句是无用的,存在两种方式解决这种问题:第一种方式是关闭Python程序,重新启动再使用语句导入;第二种方式是使用语句,这里先把介绍这一语句。

1.2 赋值语句

赋值语句是除了最简单的Python程序之外必须要接触到的语句,但是很多初次学习赋值语句的朋友似乎并不能完全掌握其中的集中魔法方法。

2.1 序列解包(我喜欢称之为序列配对赋值)

所谓序列解包,就是同时对于采用多个值对多个变量进行赋值,因为存在着这种一一对应的赋值方式,所以我常常喜欢称之为配对赋值。

现在你应该也了解到了我将其称之为配对赋值的原因了吧,当然这种赋值方式的限制之处在于变量数量与值的数量一定要相等,否则Python便会报错。不过,这并不是完全不可以修改的,Python流行的原因之一就是它永远不会把自己困死于某一条语句之中。解决这种问题只需要引入*号就可以了。

这就是号的用法,它会将多余的值全部赋给带号的变量,当然这些多余的值会被归结成为一个列表,即使只有一个值,它也会被整理成为列表。

`

链式赋值

链式赋值是一种快捷的赋值方式,它可以同时将一个值赋给多个变量,极大地减少了代码的编写工作。

这种赋值方式会将多个变量只想同一个对象,所以各变量完全相同。

增强赋值

现在如果你有变量,如果你想让x增加1,你会选择怎么做?相信很多朋友会选择使用这样的语法,但是Python中存在着一种更加便利的方式:

对于Python语句的简介就介绍到这里,下面开始讲解Python语句中的两大王者:条件语句和循环语句。

第二话:条件语句

先前笔者所讲解的语句也被称之为顺序语句,即按照先后顺序一条语句一条语句的逐步执行,但是在很多时候我们需要我们的程序能够在满足了一定条件之后才能够执行,这就使得必须要学会使用Python中的条件语句。

2.1 基本条件语句

Python中基本条件语句主要包含三大子句:if语句、else语句以及elif语句,下面对其进行介绍。

当满足条件1时执行表达式1;当满足条件2时执行表达式2;一旦条件都不满足则选择执行表达式3。这就是条件语句的基本逻辑,基于条件选择执行步骤。举个例子:

2.2 条件语句的嵌套

一旦你掌握了条件语句,那么你就不能只是单纯地满足一层条件语句,须知一个复杂的系统总是包含无数次的嵌套的,所以你必须要对嵌套的条件语句进行了解(不过笔者这里友情提示一些,能够不用嵌套的时候还是尽量不要用嵌套,嵌套执行真的很慢)。

这里的程序通过利用身份证号码的第十七位数字来判断你的性别,如果第十七位数字为奇数,那么你的性别便是男;否则则为女。程序内层为判断主程序,程序外层用来确保你输入一个正确的身份证号码。

2.3 常用的判断运算符

因为使用条件语句基于判断结果,因此学会常用的一些判断运算符便至关重要,最常用的两种运算符系统为关系运算符和逻辑运算符。在条件语句中可能最基本的运算符就是比较运算符了,它们用来执行比较进而获得布尔值(也就是TRUE和FALSE),下表给出了这些运算符的总结:

这里需要重点说明一下的是和运算符。运算符用来判断两个变量是否相等,侧重在判断两个变量的值是否相等;而运算符用来判断两个变量是否相同,除了判断值相等外,还会判断两个变量内存位置等是否相同。见下例:

看到了嘛,可以说是的限制形式,这一点需要你在使用过程中进一步了解。至于逻辑运算符,这里不再介绍,因为真的很简单,更多细节可以参见Python学习手册。

第三话:循环语句

上一话介绍了条件语句,下面开始进行循环语句的介绍。循环语句的存在可以说是程序语言流行的原因之一了,因为循环可以多次执行某条语句,极大地简化了同类型工作的重复处理。而在Python中,主要存在两种循环语句:while语句和for语句。

3.1 while语句和for语句

while语句

while语句的基本用法为:

一旦条件为真,就一直执行表达式。使用while的情形在于你并不能很明确到底需要执行多少次循环,但是一定要确保你的while循环中存在着退出条件,不然程序会陷入无限期的循环之中(一旦如此,请使用来退出进程)。下面给出一个例子:

这是一个最简单while应用,用于输出100以内的正整数

for语句

while循环语句一般用在不知道要循环多少次的时候,而for语句适用于你有明确的循环目标或者你有一个确定的迭代对象时,一般建议能够用for语句的时候尽量不要使用while语句,相对于while语句,for语句更加可读以及执行较快。这里直接给出一个for语句的例子:

这个例子也是用来输出100以内的正整数的,可以看出for循环是建立在具有明确的可迭代对象的基础之上的,关于迭代的话题,请参考。

3.2 zip函数和enumerate函数

在for循环语句中,如果你想更加高效地使用for语句,并且尽可能少地使用嵌套的for语句,那么你就不能不掌握一些zip函数和enumerate函数方面的一些知识。这里笔者直接上例子,聪慧的你们应该很容易从这些例子中看出这两个函数的用法:

3.3 break语句

在循环过程中,你总会在某些时候想退出循环,Python这方面有两种语句:break以及continue语句。break语句常常用于直接退出循环体,不再进行循环,而continue语句则用于退出当前循环并转入下一次循环。鉴于实际运用中更多会使用break语句,所以这里重点介绍一下break语句。

一旦你运行这个程序,那么只会打印出81,而后退出循环。

3.4 列表解析(列表推导)

列表解析,有些地方也将其称之为列表推导,是一种在列表内部使用循环进而实现再生列表的方法,因为其语法的简单以及执行速度较快受到了广大男性同胞的热爱。先让大家有一个直观印象吧。

不知道聪明的小空空们是否已经看出这一方法的特征了,没错,这种方法的典型特征就是在列表前面指明元素生出的表达式,而后在后面指定生成元素的选取范围。并且这种方法不仅仅适用于单层循环,而且还可以用于多层循环,还可以适用于条件语句,不行的话可以在自己的python环境下运行以下这些命令:

看到这一方法的强大指出了吧,所以希望你们真的要掌握这种方法,一旦熟悉了这种方法,你们的数据处理效率绝对可以大幅提升。关于for循环语句的介绍就讲到这里吧,更多的细节以及精彩可以参考Python学习手册

后记

本期文章介绍了Python中的语句,尤其是对Python中的条件选择语句和循环语句进行了介绍,通过这一期文章的学习,我相信大家能够合理地利用前几期文章中所介绍到的各种对象了。Python中的语句对象绝不仅仅只有本期文章所介绍的这么少,笔者在本期文章中讲到的主要是Python中最为常用的集中语句,更多的语句与细节,各位可以进一步参考相关文献。在下一期文章中,笔者将转变一下风格,介绍一篇关于Python绘图系列方面的文章,但是下一期文章并不准备直接讲解matplotlib库,对于这一Python绘图库的介绍,笔者将在完成了Python基础知识系列之后进行展开,因为这一绘图库的介绍将会分为多期,所以笔者准备在介绍的时候能够不中断。好了,本期文章就介绍到这里了,再一次感谢诸位朋友对于小编的关注与支持。

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

扫码关注云+社区

领取腾讯云代金券