Python 基础语法与控制流程学习笔记
Python 基础语法与控制流程学习笔记
- Python 基础语法与控制流程学习笔记
- 一、基础语法
- 1.1 前言
- 1.1.1 Python 简介
- 1.1.2 Python 环境搭建
- 1.1.3 第一个 Python 程序
- 1.2 注释
- 1.3 变量、标识符
- 1.3.1 变量
- 1.3.2 标识符和命名规范
- 1.4 数据类型
- 1.5 输出和输入
- 1.5.1 程序的输出
- 1.5.2 程序的输入
- 1.5.3 输出和输入练习
- 1.6 运算符
- 二、控制流程
- 2.1 分支
- 2.1.1 if 语句
- 2.1.2 if - else 语句
- 2.1.3 if - elif - else 语句
- 2.1.4 判断案例:猜拳游戏
- 2.2 循环
- 2.2.1 while 循环
- 2.2.1.1 while 循环语法
- 2.2.1.2 死循环
- 2.2.2 for 循环
- 2.2.2.1 for 循环语法
- 2.2.2.2 for 循环控制循环次数
- 2.2.3 循环的跳转
- 2.2.3.1 break
- 2.2.3.2 continue
- 2.2.4 循环中的 else
- 2.2.5 循环案例
- 2.2.5.1 水仙花数
)
一、基础语法
1.1 前言
Python 作为一门广受欢迎的编程语言,以其简洁易读的语法和强大的生态,在数据分析、Web 开发、人工智能等众多领域都有广泛应用。下面我们从基础开始,逐步探索 Python 的世界。
1.1.1 Python 简介
Python 由 Guido van Rossum 于 1989 年创立,1991 年正式发布。它支持多种编程范式,拥有丰富的标准库和第三方库,能让开发者高效地实现各种功能,大大降低了编程的门槛。
1.1.2 Python 环境搭建
- 可以从 Python 官方网站(python.org)下载对应操作系统的安装包,按照引导完成安装。安装完成后,在命令行输入
python --version
可查看版本,验证安装成功。 - 也可使用集成开发环境(IDE),如 PyCharm、VS Code 等,这些工具能提供代码高亮、自动补全、调试等便捷功能,提升编码体验。
1.1.3 第一个 Python 程序
打开文本编辑器或 IDE,输入以下代码:
print("Hello, Python!")
将文件保存为 hello.py
,在命令行中运行 python hello.py
,控制台会输出 “Hello, Python!”,这就是我们的第一个 Python 程序。
1.2 注释
注释是对代码的解释说明,不会被执行。Python 有单行注释和多行注释:
- 单行注释以
#
开头,例如:# 这是单行注释
- 多行注释用三个单引号
'''
或三个双引号"""
包裹,例如:''' 这是 多行注释 '''
1.3 变量、标识符
1.3.1 变量
变量用于存储数据,Python 无需提前声明变量类型,直接赋值即可,类型会自动推断。例如:
name = "Tom"
age = 20
这里 name
是字符串类型,age
是整数类型。
1.3.2 标识符和命名规范
标识符是变量、函数、类等的名称,可由字母、数字、下划线组成,不能以数字开头,且区分大小写。命名规范:
- 变量、函数名用小写字母和下划线(蛇形命名法),如
student_score
。 - 类名用首字母大写的驼峰命名法,如
StudentInfo
。
1.4 数据类型
Python 主要有以下基本数据类型:
- 整数(int):如
10
、-5
。 - 浮点数(float):如
3.14
、-2.5
。 - 字符串(str):用单引号或双引号包裹,如
"Python"
、'Learning'
。 - 布尔值(bool):只有
True
和False
两个值。 - 列表(list):有序且可修改的集合,如
[1, 2, "apple"]
。 - 元组(tuple):有序但不可修改的集合,如
(1, 2, 3)
。 - 字典(dict):无序的键值对集合,如
{"name": "Tom", "age": 20}
。
1.5 输出和输入
1.5.1 程序的输出
使用 print()
函数输出内容到控制台,可输出单个或多个值,多个值用逗号分隔,例如:
print("Name:", "Tom", "Age:", 20)
1.5.2 程序的输入
input()
函数用于获取用户输入,输入内容为字符串类型,例如:
name = input("请输入你的名字:")
print("你好," + name)
1.5.3 输出和输入练习
编写程序,获取用户姓名和年龄,输出“[姓名]今年[年龄]岁”。代码如下:
name = input("请输入姓名:")
age = input("请输入年龄:")
print(f"{name}今年{age}岁")
1.6 运算符
Python 支持多种运算符:
- 算术运算符:
+
(加)、-
(减)、*
(乘)、/
(除)、//
(整除)、%
(取余)、**
(幂)。 - 比较运算符:
==
(等于)、!=
(不等于)、>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)。 - 逻辑运算符:
and
(与)、or
(或)、not
(非)。 - 赋值运算符:
=
、+=
、-=
等。 - 成员运算符:
in
(在……内)、not in
(不在……内)。 - 身份运算符:
is
(判断是否为同一对象)、is not
(判断是否不为同一对象)。
二、控制流程
2.1 分支
分支结构根据条件执行不同代码块。
2.1.1 if 语句
if
语句判断条件,条件为真则执行代码块,语法:
if 条件:代码块
示例:
age = 18
if age >= 18:print("成年")
2.1.2 if - else 语句
if
条件不成立时,执行 else
代码块,语法:
if 条件:代码块1
else:代码块2
示例:
age = 16
if age >= 18:print("成年")
else:print("未成年")
2.1.3 if - elif - else 语句
多条件判断时使用,语法:
if 条件1:代码块1
elif 条件2:代码块2
...
else:代码块n
示例:
score = 85
if score >= 90:print("优秀")
elif score >= 80:print("良好")
elif score >= 60:print("及格")
else:print("不及格")
2.1.4 判断案例:猜拳游戏
用户输入拳头(0)、剪刀(1)、布(2),与电脑随机出拳比较胜负。代码:
import randomuser_choice = int(input("请出拳(0:拳头,1:剪刀,2:布):"))
computer_choice = random.randint(0, 2)if user_choice == computer_choice:print("平局")
elif (user_choice == 0 and computer_choice == 1) or (user_choice == 1 and computer_choice == 2) or (user_choice == 2 and computer_choice == 0):print("你赢了")
else:print("电脑赢了")
2.2 循环
循环结构重复执行代码块。
2.2.1 while 循环
2.2.1.1 while 循环语法
条件为真时重复执行代码块,语法:
while 条件:代码块
示例,计算 1 到 5 的和:
sum = 0
i = 1
while i <= 5:sum += ii += 1
print(sum)
2.2.1.2 死循环
while
条件始终为真时形成死循环,示例:
while True:print("死循环")
实际开发中需避免,可结合 break
退出。
2.2.2 for 循环
2.2.2.1 for 循环语法
用于遍历可迭代对象(如列表、元组、字符串等),语法:
for 变量 in 可迭代对象:代码块
示例,遍历列表:
fruits = ["apple", "banana", "orange"]
for fruit in fruits:print(fruit)
2.2.2.2 for 循环控制循环次数
用 range()
函数控制次数,range(start, stop, step)
生成 start
到 stop - 1
、步长为 step
的整数序列。示例,循环 5 次:
for i in range(5):print(i)
2.2.3 循环的跳转
2.2.3.1 break
break
立即退出当前循环,示例:
numbers = [1, 2, 3, 4, 5]
for num in numbers:if num == 3:breakprint(num)
输出 1、2,遇到 3 时退出循环。
2.2.3.2 continue
continue
跳过当前循环剩余部分,进入下一次循环,示例:
for i in range(1, 6):if i % 2 == 0:continueprint(i)
输出 1、3、5,跳过偶数。
2.2.4 循环中的 else
for
或 while
循环正常结束(未被 break
终止)时,执行 else
代码块,示例:
for i in range(3):print(i)
else:print("循环正常结束")
循环执行 3 次后,输出“循环正常结束”。若循环被 break
终止,else
不执行。
2.2.5 循环案例
2.2.5.1 水仙花数
水仙花数是三位数,各位数字的立方和等于该数本身(如 (1^3 + 5^3 + 3^3 = 153))。找出所有水仙花数的代码:
for num in range(100, 1000):hundreds = num // 100tens = (num // 10) % 10units = num % 10if hundreds ** 3 + tens ** 3 + units ** 3 == num:print(num)