零基础上手Python数据分析 (3):Python核心语法快速入门 (下) - 程序流程控制、函数与模块

在这里插入图片描述

写在前面

还记得上周我们学习的 Python 基本数据类型、运算符和变量吗? 掌握了这些基础知识,我们已经能够进行一些简单的数据操作了。 但是,在实际的数据分析工作中,仅仅掌握基本语法是远远不够的。 我们需要让程序能够 根据条件做出判断重复执行某些操作组织和复用代码,才能处理更复杂的数据分析任务。

再看一个典型的数据分析工作场景:

场景:客户分群分析

  • 任务描述: 你需要根据客户的消费数据(消费金额、消费频次、最后一次消费时间等)将客户划分为不同的群体,例如“高价值客户”、“潜力客户”、“流失风险客户”等,以便制定针对性的营销策略。
  • Excel 操作的局限:
    • 条件判断复杂,公式嵌套难以维护。 客户分群规则往往比较复杂,需要根据多个条件进行判断,Excel 公式嵌套层层叠叠,不仅难以编写,而且后期维护和修改非常困难。
    • 重复性操作繁琐,效率低下。 如果分群规则需要调整,或者需要对新的客户数据进行分群,就需要重复修改公式或手动操作,效率低下。
    • 代码难以复用,功能扩展性差。 Excel 公式和操作很难复用,如果需要扩展分群功能,例如增加新的分群维度或指标,就需要从头开始重新设计。

如果使用 Python,又将如何高效实现客户分群?

  • Python 代码流程控制,逻辑清晰,灵活易变:
    • 条件判断语句 (if-elif-else) 清晰表达分群逻辑。 Python 的 if-elif-else 语句可以清晰地表达复杂的条件判断逻辑,根据不同的条件执行不同的代码分支,让分群规则一目了然,易于理解和修改。
    • 循环语句 (for, while) 批量处理客户数据,高效自动化。 Python 的 forwhile 循环语句可以高效地遍历客户数据,批量进行分群计算,无需手动逐个处理,大大提高效率。
    • 函数 (function) 封装分群逻辑,代码复用性高,易于扩展。 可以将分群逻辑封装成 Python 函数,实现代码的模块化和复用,相同的分群函数可以应用于不同的数据集,方便快捷,也易于扩展和维护。

要实现这些强大的功能,就需要掌握 Python 的流程控制语句、函数和模块。 本篇博客将带你学习这些关键的语法知识,让你能够编写更智能、更高效的 Python 代码,为后续更复杂的数据分析任务做好准备。

🚦 一、流程控制语句:让程序具备判断和循环能力

流程控制语句用于控制程序的执行流程,让程序能够根据条件选择不同的执行路径,或者重复执行某些代码块。 Python 中主要的流程控制语句包括:

1. 条件判断语句 (if-elif-else):让程序根据条件做选择

if-elif-else 语句用于根据条件判断的结果,选择执行不同的代码块。 其基本语法结构如下:

if 条件1:
    # 条件1 为 True 时执行的代码块
elif 条件2:
    # 条件1 为 False 且 条件2 为 True 时执行的代码块
elif 条件3:
    # 条件1 和 条件2 为 False 且 条件3 为 True 时执行的代码块
...  # 可以有多个 elif 分支
else:
    # 所有条件都为 False 时执行的代码块 (可选)

语法要点:

  • ifelifelse 关键字: 用于标识条件判断语句的开始和分支。
  • 条件表达式: ifelif 后面跟的是条件表达式,其结果必须是布尔值 (TrueFalse)。 可以使用比较运算符、逻辑运算符等构成条件表达式。
  • 冒号 : ifelifelse 语句行尾必须以冒号 : 结尾,表示代码块的开始。
  • 代码块缩进: ifelifelse 下面的代码块必须 缩进,通常使用 4 个空格或一个 Tab 键进行缩进。 Python 使用缩进来区分代码块的层次关系,缩进错误会导致语法错误。
  • elif 分支: 可以有零个或多个 elif 分支,用于判断多个条件。
  • else 分支: else 分支是可选的,用于处理所有条件都不满足的情况。 最多只能有一个 else 分支,且必须位于所有 elif 分支之后。

执行流程:

  1. 程序首先判断 if 后面的 条件1 是否为 True
  2. 如果 条件1True,则执行 if 下面的代码块,并跳过 elifelse 分支。
  3. 如果 条件1False,则继续判断第一个 elif 后面的 条件2 是否为 True
  4. 如果 条件2True,则执行该 elif 下面的代码块,并跳过后续的 elifelse 分支。
  5. 如果 条件2 也为 False,则继续判断下一个 elif 的条件,以此类推。
  6. 如果所有 elif 的条件都为 False,且存在 else 分支,则执行 else 下面的代码块。
  7. 如果没有 elif 分支或 else 分支,且所有条件都为 False,则不执行任何代码块,程序继续向下执行。

示例:根据成绩等级划分

score = 85

if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'

print(f"成绩 {
     score} 分,等级为 {
     grade}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kakaZhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值