Python 是一门简洁、易上手的编程语言,广泛应用于数据分析、Web 开发、人工智能、自动化等领域。本教程从零基础开始,带你掌握 Python 核心基础。
一、环境准备
1. 安装 Python
- 安装注意:
- Windows:勾选「Add Python to PATH」(添加到环境变量),否则无法在命令行直接运行 Python。
- Mac/Linux:系统通常自带 Python2,需确认安装的是 Python3(命令行输入
python3 --version验证)。
2. 运行 Python 的方式
- 交互式解释器:命令行输入
python(Windows)或python3(Mac/Linux),进入交互式环境,输入代码回车即可执行(退出用exit()或 Ctrl+D)。 - 脚本文件:新建
.py后缀的文件(如hello.py),写入代码后,命令行执行python hello.py(Windows)或python3 hello.py(Mac/Linux)。 - IDE 推荐:新手推荐 PyCharm(社区版免费)、VS Code(安装 Python 插件),提供代码补全、调试等功能。
二、第一个 Python 程序
# 单行注释:打印Hello World
"""
多行注释:
这是我的第一个Python程序
"""
print("Hello, Python!") # 输出字符串
运行结果:Hello, Python!
print():Python 内置函数,用于输出内容到控制台。- 注释:
#开头是单行注释,""" """或''' '''是多行注释,注释不执行,用于解释代码。
三、变量与数据类型
1. 变量定义
Python 变量无需声明类型,直接赋值即可,变量名遵循:
- 由字母、数字、下划线组成,不能以数字开头;
- 区分大小写;
- 不能用关键字(如
if、for、print等)。
name = "小明" # 字符串
age = 18 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值(True/False)
print(name, age, height, is_student)
2. 常用数据类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 整数(int) | 正/负整数、0 | 10、-5、0 |
| 浮点数(float) | 小数 | 3.14、-0.5 |
| 字符串(str) | 文本,单/双/三引号包裹 | 'Python'、"123"、'''多行字符串''' |
| 布尔值(bool) | 真/假 | True、False |
| 列表(list) | 有序可变集合 | [1, 2, 'a'] |
| 元组(tuple) | 有序不可变集合 | (1, 2, 'a') |
| 字典(dict) | 键值对无序集合 | {'name': '小明', 'age': 18} |
3. 类型转换
# 字符串转整数
num_str = "123"
num = int(num_str)
print(num + 1) # 输出 124# 整数转字符串
age = 18
age_str = str(age)
print("年龄:" + age_str) # 输出 年龄:18# 浮点数转整数(截断小数)
print(int(3.99)) # 输出 3
四、运算符
1. 算术运算符
a = 10
b = 3
print(a + b) # 加:13
print(a - b) # 减:7
print(a * b) # 乘:30
print(a / b) # 除:3.333...
print(a // b) # 整除:3
print(a % b) # 取余:1
print(a **b) # 幂:1000
2. 比较运算符(返回布尔值)
print(10 > 3) # True
print(10 == 3) # False
print(10 != 3) # True
print(10 >= 10) # True
3. 逻辑运算符
# and(都真才真)、or(有真就真)、not(取反)
print(True and False) # False
print(True or False) # True
print(not True) # False
4. 赋值运算符
x = 5
x += 3 # 等价于 x = x + 3 → x=8
x *= 2 # 等价于 x = x * 2 → x=16
五、条件语句
根据条件执行不同代码,语法:
if 条件1:执行代码1
elif 条件2:执行代码2
else:执行代码3
示例:
score = 85
if score >= 90:print("优秀")
elif score >= 80:print("良好")
elif score >= 60:print("及格")
else:print("不及格")
# 输出:良好
六、循环语句
1. for 循环(遍历可迭代对象:列表、字符串、范围等)
# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:print(fruit)# 遍历数字范围(range(起始, 结束, 步长),结束不包含)
for i in range(1, 5): # 1,2,3,4print(i)# 遍历字符串
for char in "Python":print(char)
2. while 循环(满足条件时循环)
# 计算1-10的和
sum_num = 0
i = 1
while i <= 10:sum_num += ii += 1 # 必须更新i,否则无限循环
print(sum_num) # 输出:55
3. 循环控制
break:终止整个循环;continue:跳过当前循环,进入下一次;else:循环正常结束(未被break打断)时执行。
示例:
for i in range(1, 6):if i == 3:continue # 跳过3if i == 5:break # 终止循环print(i)
else:print("循环正常结束")
# 输出:1 2 4(else未执行)
七、列表(List)
列表是 Python 最常用的有序可变集合,支持增删改查。
# 定义列表
nums = [1, 2, 3, 4, 5]# 访问元素(索引从0开始)
print(nums[0]) # 第一个元素:1
print(nums[-1]) # 最后一个元素:5# 切片([起始:结束:步长])
print(nums[1:3]) # [2,3]
print(nums[:3]) # 从开头到索引2:[1,2,3]
print(nums[::2]) # 步长2:[1,3,5]# 添加元素
nums.append(6) # 末尾添加:[1,2,3,4,5,6]
nums.insert(2, 7)# 索引2插入7:[1,2,7,3,4,5,6]# 删除元素
nums.remove(7) # 删除指定值:[1,2,3,4,5,6]
nums.pop() # 删除末尾元素:[1,2,3,4,5]
del nums[0] # 删除索引0元素:[2,3,4,5]# 修改元素
nums[0] = 10 # [10,3,4,5]# 长度
print(len(nums)) # 4
八、字典(Dict)
字典是键值对(key:value)的无序集合,键唯一且不可变(字符串、数字、元组),值可任意。
# 定义字典
student = {"name": "小明","age": 18,"gender": "男"
}# 访问值(通过键)
print(student["name"]) # 小明
print(student.get("age")) # 18(推荐,键不存在返回None)# 添加/修改键值对
student["score"] = 90 # 添加
student["age"] = 19 # 修改# 删除键值对
del student["gender"]
student.pop("score")# 遍历字典
for key in student:print(key, student[key])# 获取所有键/值
print(student.keys()) # dict_keys(['name', 'age'])
print(student.values()) # dict_values(['小明', 19])
九、函数
函数是可重复使用的代码块,提高代码复用性,语法:
def 函数名(参数1, 参数2=默认值):"""函数说明"""执行代码return 返回值
示例:
# 无参数无返回值
def say_hello():print("Hello!")say_hello() # 调用函数:Hello!# 有参数有返回值
def add(a, b=0): # b有默认值"""计算两个数的和"""return a + bresult = add(3, 5)
print(result) # 8
result2 = add(10) # 使用默认值b=0,输出10
函数参数类型
- 位置参数:按顺序传参(如
add(3,5)); - 关键字参数:按键传参(如
add(b=5, a=3)); - 默认参数:定义时指定默认值,调用可省略(如
add(10)); - 可变参数:
*args(接收多个位置参数,元组)、**kwargs(接收多个关键字参数,字典)。
def func(*args, **kwargs):print(args) # (1,2,3)print(kwargs) # {'name':'小明','age':18}func(1,2,3, name="小明", age=18)
十、模块与包
1. 模块(.py 文件)
将函数、变量写在一个 .py 文件中,其他文件可导入使用。
示例:
- 新建
mymodule.py:def multiply(a, b):return a * bPI = 3.14159 - 另一个文件导入:
# 导入整个模块 import mymodule print(mymodule.multiply(2,3)) # 6 print(mymodule.PI) # 3.14159# 导入指定内容 from mymodule import multiply, PI print(multiply(4,5)) # 20# 导入并改名 import mymodule as mm print(mm.PI) # 3.14159
2. 包
多个模块组成的文件夹(需包含 __init__.py 文件),用于组织代码。
十一、文件操作
1. 读取文件
# 方式1:手动关闭文件
f = open("test.txt", "r", encoding="utf-8") # r=只读,指定编码避免中文乱码
content = f.read() # 读取全部内容
# content = f.readline() # 读取一行
# content = f.readlines() # 读取所有行,返回列表
print(content)
f.close() # 必须关闭文件# 方式2:with自动关闭文件(推荐)
with open("test.txt", "r", encoding="utf-8") as f:content = f.read()print(content)
2. 写入文件
# w=覆盖写入,a=追加写入
with open("test.txt", "w", encoding="utf-8") as f:f.write("Hello Python!\n") # \n换行f.writelines(["第一行\n", "第二行\n"]) # 写入多行# 追加
with open("test.txt", "a", encoding="utf-8") as f:f.write("追加的内容")
十二、异常处理
捕获代码运行中的错误,避免程序崩溃,语法:
try:可能出错的代码
except 异常类型1:出错后的处理
except 异常类型2 as e:打印错误信息(e)
else:无异常时执行
finally:无论是否异常都执行(如关闭文件)
示例:
try:num = int(input("请输入数字:"))print(10 / num)
except ValueError:print("输入的不是数字!")
except ZeroDivisionError as e:print(f"错误:{e}(不能除以0)")
else:print("执行成功!")
finally:print("程序结束")
十三、进阶方向
掌握基础后,可学习:
- 面向对象编程(类、对象、继承、封装、多态);
- 常用标准库(os、sys、datetime、json 等);
- 第三方库(numpy/pandas 数据分析、requests 爬虫、flask/django Web开发、tensorflow/pytorch 人工智能);
- 正则表达式、多线程/多进程、数据库操作等。
如果有具体的知识点想深入了解(如面向对象、第三方库使用),可以针对性提问!