前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python玩数据入门必备系列(4):判断与遍历

Python玩数据入门必备系列(4):判断与遍历

作者头像
咋咋
发布2021-09-01 14:41:51
3340
发布2021-09-01 14:41:51
举报
文章被收录于专栏:数据大宇宙数据大宇宙

> 最近有许多小伙伴问我要入门 Python 的资料,还有小伙伴完全没有入门 Python 就直接购买了我的 pandas 专栏。因此我决定写几篇 Python 数据处理分析必备的入门知识系列文章,以帮助有需要的小伙伴们更好入门。

前言

本节将学习基本的判断与遍历方式,立刻开始。

逻辑与布尔值

在实际生活中,我们经常根据条件判断进而作出不同的行为。

比如:"如果明天下雨,那么我就待在家里,否则我就出门"

编程语言中自然也需要提供这样的语法,进而描述出类似的语义

我们用文本内容表达环境情况,代码如下:

  • - 变量 env_tmr 保存一个文本(字符串),之后我们根据这个字符串内容做出判断,从而打印出不同的内容

如果对照中文意思,如图:

上面重点关注的是,怎么对比出来 变量 env_tmr 的内容是不是符合我们的要求。

  • - env_tmr == '下雨' ,用 双等号 ,判断2边的值是否相等
  • - 这里的语义是: "变量 env_tmr 等于 文本内容'下雨'",结果返回的 True,表示这描述是正确的。 如果结果返回 False ,则表示其描述不正确
  • - True 或 False 就是 bool 值

> 由于一个"等号"表示:把右边的值赋值给左边的变量,因此判断的逻辑只能使用"双等号"表示

因此,其实一开始的 if else 写法,if 只是根据后面的 bool 值做判断,然后调用不同行的代码而已:

  • - 如果直接在 if 后面写 True,那么代码总是会执行 if True : 下面的代码 —— print('待在家里')
  • - 如果为 False,那么 Python 只是不执行其下方缩进的代码

if 与 else 不需要一起出现,实际上他们有各自表达的意思:

  • - 当 if 的代码区被执行时(上图总是True,因此总是被执行),else 的区域则不会被执行
  • - 当 if 的代码区没有被执行(if 后面的 bool 值为 False),else 的区域才会被执行
  • - else 必需配合 上方的 if ,else 不能单独出现。 没有"如果",那么"否则"是没有任何意义的

> if True : 下方有相同缩进的语句,会被归入 if 的代码区,else 同样如此

来看看如何表达:"如果下雨,我拿伞,然后出门":

  • - 现在不需要表达"否则"的语义,因此不再需要 else

序列

在说遍历之前,要先知道序列这玩意。

我们之前有学过用变量表示一个值(可以是数值也可以是文本),但有时候我们希望表达一系列的值,比如:从0到10的10个数值

Python 中有许多不同类型的东西可以表达这语义,这里简单介绍列表:

  • - [1,2,3] ,生成了一个列表,列表中有3个数值
  • - nums = [1,2,3] ,用变量 nums 表示第一步生成的列表(把等号右边的列表赋值给左边的变量)。 此时,变量 nums 表示一个数值序列
  • - nums[0] ,获取列表中第1个元素

> 更准确的描述是"把等号右边的列表的引用,赋给左边的变量"

> 本系列后续文章会详细讲解常用的序列类型,这里先点到即止

遍历与循环

如果我们需要从一个序列中获取每个值做处理,难道要一次次写 nums[0]、nums[1] 的代码吗?而且我还不一定知道这序列里面有多少个值

Python 提供了 for 语法自动遍历序列中的元素。

表达:"从变量 nums 中获取每个数值,然后打印出来" 的同语义代码如下:

  • - for n in nums: 表示"从变量 nums 中获取每个数值"。
  • - 通常来说,你都需要获取当前处理的数值。 因此,Python 会把当前的数值赋值给变量 n ,让你可以在 for 的代码区中通过变量 n 得到当前的数值

如下示意图,表示流程:

  • - for 的代码区被执行了3次,每次 Python 都会把序列中的数值付给变量 n

有时候我们只是想遍历指定次数,比如:"输出10次内容'test'"。我们总不可能写代码定义一个有10个数值的列表吧。

Python 提供了一个快速输出序列的方法:

  • - range(10) ,生成一个有10个元素的序列

> range 得到的不是列表,而是生成器。具体内容,可以查看我的文章"Python进阶系列:Python遍历的秘密"

你可能注意到,我们上面的代码中的遍历 n 其实没有任何意义。

一般来说,在 Python 如果觉得某个返回值没有意义,我们会使用一个下划线表示:

总结

  • - if 表示"如果",else 表示"否则",eles 必需在配合 if 存在
  • - for 可以遍历一个序列
  • - range 可以快速生成有规律的序列

下一节介绍 Python 中常用的集合数据结构,敬请关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据大宇宙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档