python数据分析与提取(用Python数据处理分析入门必备系列文章)(1)

此系列文章收录在公众号(建议按顺序阅读本系列文章): 数据大宇宙 > Python入门必备 > 必备知识

转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的)

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

不拆分啥初级中级高级,一个专栏直接带你入门到高级应用,从数据处理到数据分析!!


前言

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


逻辑与布尔值

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

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

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(2)

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(3)


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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(4)

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

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(5)

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(6)

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

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(7)

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(8)

序列

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

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(9)

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

更准确的描述是"把等号右边的列表的引用,赋给左边的变量" 本系列后续文章会详细讲解常用的序列类型,这里先点到即止


python数据分析与提取(用Python数据处理分析入门必备系列文章)(10)

遍历与循环

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

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(11)

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

如下示意图,表示流程:

python数据分析与提取(用Python数据处理分析入门必备系列文章)(12)

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

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

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

python数据分析与提取(用Python数据处理分析入门必备系列文章)(13)

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

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

你可能注意到,我们上面的代码中的遍历 n 其实没有任何意义。 一般来说,在 Python 如果觉得某个返回值没有意义,我们会使用一个下划线表示:

python数据分析与提取(用Python数据处理分析入门必备系列文章)(14)


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

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

有任何疑问,私信我"python"

,