> 最近有许多小伙伴问我要入门 Python 的资料,还有小伙伴完全没有入门 Python 就直接购买了我的 pandas 专栏。因此我决定写几篇 Python 数据处理分析必备的入门知识系列文章,以帮助有需要的小伙伴们更好入门。
前言
本节将学习基本的判断与遍历方式,立刻开始。
逻辑与布尔值
在实际生活中,我们经常根据条件判断进而作出不同的行为。
比如:"如果明天下雨,那么我就待在家里,否则我就出门"
编程语言中自然也需要提供这样的语法,进而描述出类似的语义
我们用文本内容表达环境情况,代码如下:
如果对照中文意思,如图:
上面重点关注的是,怎么对比出来 变量 env_tmr 的内容是不是符合我们的要求。
> 由于一个"等号"表示:把右边的值赋值给左边的变量,因此判断的逻辑只能使用"双等号"表示
因此,其实一开始的 if else 写法,if 只是根据后面的 bool 值做判断,然后调用不同行的代码而已:
if 与 else 不需要一起出现,实际上他们有各自表达的意思:
> if True : 下方有相同缩进的语句,会被归入 if 的代码区,else 同样如此
来看看如何表达:"如果下雨,我拿伞,然后出门":
序列
在说遍历之前,要先知道序列这玩意。
我们之前有学过用变量表示一个值(可以是数值也可以是文本),但有时候我们希望表达一系列的值,比如:从0到10的10个数值
Python 中有许多不同类型的东西可以表达这语义,这里简单介绍列表:
> 更准确的描述是"把等号右边的列表的引用,赋给左边的变量"
> 本系列后续文章会详细讲解常用的序列类型,这里先点到即止
遍历与循环
如果我们需要从一个序列中获取每个值做处理,难道要一次次写 nums[0]、nums[1] 的代码吗?而且我还不一定知道这序列里面有多少个值
Python 提供了 for 语法自动遍历序列中的元素。
表达:"从变量 nums 中获取每个数值,然后打印出来" 的同语义代码如下:
如下示意图,表示流程:
有时候我们只是想遍历指定次数,比如:"输出10次内容'test'"。我们总不可能写代码定义一个有10个数值的列表吧。
Python 提供了一个快速输出序列的方法:
> range 得到的不是列表,而是生成器。具体内容,可以查看我的文章"Python进阶系列:Python遍历的秘密"
你可能注意到,我们上面的代码中的遍历 n 其实没有任何意义。
一般来说,在 Python 如果觉得某个返回值没有意义,我们会使用一个下划线表示:
总结
下一节介绍 Python 中常用的集合数据结构,敬请关注。