
07. 语法与语句


《Python入门课》是作为生信小白入门重要的课程之一,学好python,是单细胞+空间转录组,Python全流程实战教学的基础。
B站同步播出:https://b23.tv/c8LWhpG
语法与语句(理论)
语法与语句(实操)
在Python入门课| 01. 绪论中,我们给大家介绍了python的特点与用途,同时Python入门课| 02. python下载与安装手把手带领大家在不同系统中安装和下载Python;在Python入门课| 03. 变量与数据类型中了解了变量与数据类型,主要是整数、浮点数、字符串和布尔值;在Python入门课| 04. 类型转换中,python实现数据类型相互转换;在Python入门课| 05. 数据结构中掌握了python的数据结构,主要是列表与元组、字典、集合、数组、Series、数据框DataFrame、AnnData;之后学习了Python入门课| 06. 运算符和表达式,主要包含:算法运算符、比较运算符、逻辑运算符、位运算符、赋值运算符;接下来,学习python常见语句:条件语句、循环语句、函数定语语句等。


图文内容


1. 语法与语句
语法是编程语言的规则,规定了代码 应该如何书写
在 Python 中,常见的语法特征有:
缩进表示代码块(不用 {},而是 4 个空格
语句末尾一般不用分号(可选)
区分大小写(Name 和 name 是不同的变量)
语句是可执行的一行代码。Python 常见的语句包括 条件语句、循环语句、函数定义语句等。
1.1 if条件语句
x = 0if x > 0:print("正数")elif x == 0:print("零")else:print("负数")
零组合条件(使用 and 和 or)temperature = 15is_raining = False# 使用 and (与)if 30 > temperature > 20 and not is_raining:print("天气晴朗,温度适宜,适合户外活动。")# 使用 or (或)elif temperature > 30 or is_raining:print("天气较极端(太热或下雨),最好待在室内。")else:print("天气温和,但可能有其他情况。")
天气温和,但可能有其他情况。for i in [1, 2, 3]:print(i)
12 31.3 while循环语句n = 3while n > 0:print(n)n -= 1
3 2 1示例 A: 基本计数器count = 1print("--- While 循环计数 ---")while count <= 5:print(f"当前计数: {count}")count += 1 # 每次循环后将计数器加 1print("While 循环结束。")
--- While 循环计数 --- 当前计数: 1 当前计数: 2 当前计数: 3 当前计数: 4 当前计数: 5 While 循环结束。break:提前退出循环
continue:跳过当前循环,进入下一次循环
pass:占位,不执行任何操作
示例B:中途退出的循环计数器
# 目标:遍历数字 1 到 10,但在找到 5 时停止print("--- 示例: break 提前退出循环 ---")for num in range(1, 11):if num == 5:print(f"检测到 {num},立即使用 break 退出循环。")break # 立即终止 for 循环print(f"当前数字: {num}")print("循环已退出。")
--- 示例: break 提前退出循环 --- 当前数字: 1 当前数字: 2 当前数字: 3 当前数字: 4 检测到 5,立即使用 break 退出循环。 循环已退出。# 目标:遍历数字 1 到 5,跳过偶数(2 和 4)的打印步骤print("\n--- 示例: continue 跳过当前循环 ---")for num in range(1, 6):if num % 2 == 0:print(f"检测到偶数 {num},使用 continue 跳过打印。")continue # 跳过本次循环的剩余代码# 只有当 num 是奇数时,才会执行到这里print(f"当前数字是奇数: {num}")print("循环完成。")
--- 示例: continue 跳过当前循环 --- 当前数字是奇数: 1 检测到偶数 2,使用 continue 跳过打印。当前数字是奇数: 3 检测到偶数 4,使用 continue 跳过打印。 当前数字是奇数: 5 循环完成。for i in range(5):if i == 2:continue # 跳过 2if i == 4:break # 提前结束print(i)
0 1 3示例E:留空的循环# 目标:遍历列表,但暂时只处理 "apple",其他项目留空items = ["apple", "banana", "orange"]print("\n--- 示例: pass 占位符 ---")for item in items:if item == "apple":print(f"正在处理重要项: {item}")elif item == "banana":# 留空:将来会添加处理 'banana' 的逻辑passelse:# 留空:将来会添加处理其他项的默认逻辑passprint("循环完成。")
1.5 函数定义与调用定义:常规可以使用def关键字来创建函数,将可复用的代码逻辑封装起来,用于提高代码的可读性
调用:通过函数名加括号进行调用
👉 最常见的方式,适合定义有名字、可复用的函数。
def add(a, b):"""返回两个数的和"""return a + bprint(add(a=3,b=5)) # 输出 8
8add?Signature: add(a, b)
Docstring: 返回两个数的和
File: /tmp/ipykernel_638460/366569664.py
Type: function
def iloveu(times=2222):"i love u every day"return f"I love you {times}."print(iloveu(3000))
I love you 3000.匿名函数 lambda
👉lambda 用于定义简短的匿名函数,常用于函数式编程或作为参数传递。
f = lambda x, y: x + yprint(f(3, 5)) # 输出 8
8def | lambda | |
|---|---|---|
示例对比
# 对变量求平方x ** 2# def 定义def square(x):"求平方"return x ** 2# lambda 定义square_lambda = lambda x: x ** 2print(square(4)) # 16print(square_lambda(4)) # 16
16 16小测试:输出九九乘法表
def print_multiplication_table():"""输出九九乘法表(左下角三角形格式)。"""print("--- 九九乘法表 ---")# 外层循环:控制行数 (i)# i 从 1 遍历到 9for i in range(1, 10):# 内层循环:控制列数 (j)# j 从 1 遍历到当前的 i,确保只打印左下半部分for j in range(1, i + 1):# 计算乘积product = i * j# 格式化输出:# {j}*{i}={product} 是标准的乘法表达式# <5 表示左对齐,总宽度为 5 个字符,确保对齐整齐print(f"{j}*{i}={product:<2}", end=" ")# 内层循环结束后,换行,以便开始下一行print()# 调用函数以输出乘法表print_multiplication_table()
--- 九九乘法表 --- 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 📌Note
def → 适合定义复杂的、可复用的函数
lambda → 适合一行的小函数,常用于临时计算


Python入门课


1、课程简介
生信基地希望能够给大家提供系统性、形成性、规范性的生信教学。本次《Python入门课》可针对性的指导、答疑,分为"Python课程绪论"、"Python下载与安装"、"变量与数据变型"、"类型转换"、"数据结构"、"运算符和表达式"、"语法与语句"、"数据的读取与保存"、"模块与包"、"基于Matplotlib的基础可视化"、"简单机器学习入门"十一个模块共21节课。当然,我们也不做生信快餐,课程视频剪辑完毕,永久回放。后续我们会持续拉群在群里进行课程内容的答疑。
2、Python介绍
Python作为本次课程核心编程语言,语法简洁、库生态丰富、计算高效,是数据科学与自动化开发的主流选择,兼顾入门友好与高效开发。随着研究数据量,Python可弥补R语言在处理规模与扩展性上的不足,更好适合现科研需求。
我们制作的单细胞和空间转录组教程几乎也全是基于Python环境。很多同学找我们学习单细胞的时候都表示不想学习编程语言,直接学习单细胞/空间转录组分析,不积跬步无以至千里,这显然是不现实的,所以,欢迎大家来参加此次的课程。

报名/缴费二维码:



资料&课表



课程目录:
1. Python课程绪论
2. Python下载与安装
2.2 安装(以 Windows 为例)
2.3 Linux / macOS 安装
2.4 Miniconda 安装 python(虚拟环境)
3. 变量与数据类型
3.1 整数
3.2 浮点数
3.3 字符串
3.4 布尔值
4. 类型转换
5. 数据结构
5.1 列表与元组
5.2 字典
5.3 集合
5.4 数组
5.5 Series
5.6 数据框 DataFrame
5.7 Anndata
6. 运算符和表达式
6.1 算数运算符
6.2 比较运算符
6.3 逻辑运算符
6.4 位运算符
6.5 赋值运算符
7. 语法与语句
7.1 if条件语句
7.2 for循环语句
7.3 while循环语句
7.4 跳转语句
7.5 函数定义与调用
8. 数据的读取与保存
8.1 基础信息
8.2 不同格式文件读取
9. 模块与包
10. 基于Matplotlib的基础可视化
10.1 基础可视化
10.2 图像大小和 DPI 设置
10.3 设置图例
10.4 实战练习
11. 简单机器学习入门


如何联系我们


已有生信基地联系方式的同学无需重复添加

