Python 基础语法从入门到使用详解

目录

  • [1. Python 简介](#1. Python 简介)
  • [2. 环境搭建](#2. 环境搭建)
    • [2.1 安装 Python](#2.1 安装 Python)
    • [2.2 选择编辑器](#2.2 选择编辑器)
  • [3. 第一个 Python 程序](#3. 第一个 Python 程序)
  • [4. 变量与数据类型](#4. 变量与数据类型)
    • [4.1 变量赋值](#4.1 变量赋值)
    • [4.2 基本数据类型](#4.2 基本数据类型)
  • [5. 运算符](#5. 运算符)
    • [5.1 算术运算符](#5.1 算术运算符)
    • [5.2 比较与逻辑运算符](#5.2 比较与逻辑运算符)
  • [6. 控制流](#6. 控制流)
    • [6.1 条件语句](#6.1 条件语句)
    • [6.2 循环语句](#6.2 循环语句)
  • [7. 函数](#7. 函数)
  • [8. 数据结构](#8. 数据结构)
    • [8.1 列表](#8.1 列表)
    • [8.2 元组](#8.2 元组)
    • [8.3 字典](#8.3 字典)
    • [8.4 集合](#8.4 集合)
  • [9. 模块与包](#9. 模块与包)
    • [9.1 导入模块](#9.1 导入模块)
    • [9.2 自定义模块](#9.2 自定义模块)
  • [10. 文件操作](#10. 文件操作)
  • [11. 异常处理](#11. 异常处理)
  • [12. 总结](#12. 总结)

1. Python 简介

Python 是一种广泛使用的解释型、高级编程语言,由 Guido van Rossum 在 1991 年首次发布。Python 的设计哲学强调代码的可读性和简洁性,使用缩进来划分代码块,摒弃了其他语言中常见的大括号和分号,让代码看起来更干净、更自然。

Python 目前稳居 TIOBE 编程语言排行榜前列,其应用场景非常广泛:

  • Web 开发:Django、Flask、FastAPI 等框架让后端开发变得高效便捷。
  • 数据科学:Pandas、NumPy、Matplotlib 等库是数据分析与可视化的利器。
  • 人工智能 / 机器学习:TensorFlow、PyTorch、Scikit-learn 等框架支撑着从学术研究到工业落地的 AI 应用。
  • 自动化运维:脚本编写、系统管理、CI/CD 流水线中 Python 随处可见。
  • 网络爬虫:Requests、Scrapy、BeautifulSoup 等工具让数据采集变得简单。

Python 的社区生态极为活跃,PyPI(Python Package Index)上托管了超过 40 万个第三方包,几乎所有你能想到的需求,都能找到现成的库来加速开发。

2. 环境搭建

2.1 安装 Python

前往 python.org 下载对应操作系统的安装包,推荐选择 Python 3.10 或更高版本。安装时的注意事项:

  • Windows 用户 :务必勾选 Add Python to PATH 选项,否则后续在命令行中无法直接使用 python 命令。建议选择 "Customize installation" 自定义安装路径,避免路径中包含空格或中文字符。
  • macOS 用户 :系统自带 Python 2.7(已过时),建议通过 Homebrew 安装:brew install python@3.12,或直接下载官方 pkg 安装包。
  • Linux 用户 :多数发行版已预装 Python 3,可通过包管理器升级,如 Ubuntu:sudo apt install python3.12

安装完成后,在终端中验证:

bash 复制代码
python --version
# 或
python3 --version

同时检查 pip(Python 包管理工具)是否可用:

bash 复制代码
pip --version
# 或
pip3 --version

2.2 选择编辑器

推荐以下主流编辑器,按使用场景选择:

  • Visual Studio Code(免费、跨平台):安装 Python 扩展后即可获得语法高亮、智能提示、调试支持、Jupyter Notebook 集成等强大功能,是大多数开发者的首选。
  • PyCharm(社区版免费):JetBrains 出品,功能全面,特别适合大型项目开发,提供强大的代码补全、重构和调试工具。
  • Jupyter Notebook / JupyterLab:交互式编程环境,适合数据科学、教学和原型验证,可分段执行代码并实时查看结果。
  • IDLE:Python 官方自带的简易编辑器,适合初学者快速上手,但功能相对有限。

建议初学者从 VS Code + Python 扩展 组合开始,轻量且强大,后续可根据需求切换到 PyCharm 等专业 IDE。

3. 第一个 Python 程序

创建 hello.py 文件,写入以下代码:

python 复制代码
print("Hello, World!")

运行方式有多种:

  • 命令行运行 :在终端中执行 python hello.py,你会看到输出 Hello, World!
  • IDE 中运行:在 VS Code 或 PyCharm 中打开文件,点击右上角的运行按钮。
  • 交互式环境 :在终端输入 python 进入交互模式,直接输入 print("Hello, World!") 回车即可看到结果。

输出 Hello, World! 标志着 Python 环境配置成功。这个简单的程序背后,Python 解释器完成了词法分析、语法解析、编译成字节码、再由虚拟机执行等一系列步骤,但对于初学者来说,只需关注代码本身即可。

4. 变量与数据类型

4.1 变量赋值

Python 是动态类型语言,变量无需声明类型,类型由赋值时自动推断:

python 复制代码
name = "Alice"      # 字符串
age = 25            # 整数
height = 1.68       # 浮点数
is_student = True   # 布尔值

Python 变量命名遵循以下规则:

  • 只能包含字母、数字和下划线,不能以数字开头。
  • 区分大小写,nameName 是两个不同的变量。
  • 不能使用 Python 关键字(如 ifforclass 等)作为变量名。
  • 推荐使用蛇形命名法(snake_case),如 user_namemax_value

Python 还支持多重赋值,一行代码交换值:

python 复制代码
a, b = 10, 20
a, b = b, a   # 交换后 a=20, b=10

4.2 基本数据类型

类型 示例 说明
整数 int 42 任意精度整数,Python 3 中无大小限制
浮点数 float 3.14 双精度浮点数,遵循 IEEE 754 标准
字符串 str "hello" Unicode 字符串,支持单引号或双引号
布尔值 bool True / False 逻辑值,注意首字母大写
空值 NoneType None 表示无值,类似其他语言的 null

使用 type() 函数查看变量类型:

python 复制代码
print(type(age))      # <class 'int'>
print(type(name))     # <class 'str'>
print(type(height))   # <class 'float'>

类型转换函数:

python 复制代码
int("42")      # 字符串 → 整数:42
float("3.14")  # 字符串 → 浮点数:3.14
str(100)       # 数字 → 字符串:"100"
bool(1)        # 非零值 → True

5. 运算符

5.1 算术运算符

python 复制代码
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(幂运算,10 的 3 次方)

补充说明:

  • / 总是返回浮点数,即使两个整数相除。
  • // 整除向下取整:-10 // 3 结果为 -4(而非 -3)。
  • ** 优先级高于其他算术运算符,2 ** 3 ** 2 等价于 2 ** 9 = 512(右结合)。

5.2 比较与逻辑运算符

python 复制代码
x = 5
y = 10
print(x == y)              # False(等于)
print(x != y)              # True(不等于)
print(x < y)               # True(小于)
print(x > 0 and y < 20)    # True(逻辑与)
print(x > 0 or y < 0)      # True(逻辑或)
print(not x > 0)           # False(逻辑非)

赋值运算符(复合赋值):

python 复制代码
n = 10
n += 5    # 等价于 n = n + 5
n *= 2    # 等价于 n = n * 2
n //= 3   # 等价于 n = n // 3

6. 控制流

6.1 条件语句

python 复制代码
score = 85
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "D"
print(f"成绩等级:{grade}")

注意事项:

  • ifelif 后面必须跟条件表达式,以冒号结尾。
  • Python 使用缩进(通常 4 个空格)来表示代码块,同级缩进的代码属于同一代码块。
  • 条件表达式支持链式比较:80 <= score < 90 等价于 score >= 80 and score < 90
  • 如果某个分支暂时不需要处理,可以用 pass 占位,避免语法错误。

6.2 循环语句

for 循环

python 复制代码
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 使用 range() 生成数字序列
for i in range(5):
    print(i)   # 输出 0,1,2,3,4

# range(start, stop, step)
for i in range(1, 10, 2):
    print(i)   # 输出 1,3,5,7,9

while 循环

python 复制代码
count = 0
while count < 5:
    print(count)
    count += 1

循环控制关键字:

  • break:立即跳出当前循环,不再执行后续迭代。
  • continue:跳过当前迭代的剩余代码,进入下一次循环。
  • else:循环正常结束(未触发 break)时执行。
python 复制代码
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")  # 不会执行,因为 break 跳出了循环

7. 函数

使用 def 关键字定义函数:

python 复制代码
def greet(name, greeting="Hello"):
    """向用户打招呼的函数"""
    return f"{greeting}, {name}!"

print(greet("Alice"))              # Hello, Alice!
print(greet("Bob", "Hi"))          # Hi, Bob!

Python 函数支持多种参数类型:

  • 位置参数 :按顺序传入,如 greet("Alice", "Hi")
  • 默认参数 :在定义时给出默认值,调用时可省略,如 greeting="Hello"
  • 关键字参数 :通过参数名指定,可打乱顺序,如 greet(greeting="Hi", name="Bob")
  • 可变参数*args 接收任意数量的位置参数,**kwargs 接收任意数量的关键字参数。
python 复制代码
def add_all(*args):
    """计算任意数量数字的和"""
    return sum(args)

print(add_all(1, 2, 3, 4, 5))  # 15

def print_info(**kwargs):
    """打印任意键值对"""
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=25, city="Shanghai")

匿名函数(lambda):

python 复制代码
square = lambda x: x ** 2
print(square(5))  # 25

# 常用于排序等场景
students = [("Alice", 85), ("Bob", 92), ("Charlie", 78)]
students.sort(key=lambda s: s[1])  # 按成绩排序

8. 数据结构

8.1 列表(list)

列表是 Python 中最常用的可变序列,可以存储任意类型的元素:

python 复制代码
numbers = [1, 2, 3, 4, 5]
numbers.append(6)          # 末尾追加
numbers.insert(0, 0)       # 指定位置插入
print(numbers[1:4])        # 切片:[1, 2, 3]
print(numbers[-1])         # 倒数第一个元素:6
numbers.remove(3)          # 删除指定值
popped = numbers.pop()     # 弹出末尾元素

列表推导式(List Comprehension)是 Python 的一大特色,能简洁地生成新列表:

python 复制代码
squares = [x ** 2 for x in range(10)]       # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
evens = [x for x in range(20) if x % 2 == 0]  # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

8.2 元组(tuple)

元组是不可变的序列,定义后元素不能修改:

python 复制代码
point = (3, 4)
print(point[0])   # 3
x, y = point      # 元组解包
print(x, y)       # 3 4

元组常用于:

  • 存储不应被修改的数据(如坐标、配置项)。
  • 作为字典的键(因为元组是可哈希的)。
  • 从函数返回多个值。
python 复制代码
def get_user_info():
    return "Alice", 25, "alice@example.com"  # 返回元组

name, age, email = get_user_info()

8.3 字典(dict)

字典是键值对集合,在 Python 3.7+ 中保持插入顺序:

python 复制代码
person = {"name": "Alice", "age": 25}
print(person["name"])          # Alice
person["city"] = "Shanghai"    # 添加键值对
person.get("gender", "未知")    # 安全获取,不存在时返回默认值

字典常用方法:

python 复制代码
person.keys()      # dict_keys(['name', 'age', 'city'])
person.values()    # dict_values(['Alice', 25, 'Shanghai'])
person.items()     # dict_items([('name', 'Alice'), ...])

for key, value in person.items():
    print(f"{key}: {value}")

字典推导式:

python 复制代码
squares_dict = {x: x ** 2 for x in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

8.4 集合(set)

集合是无序的不重复元素集合,基于哈希表实现:

python 复制代码
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)   # {2, 3}(交集)
print(a | b)   # {1, 2, 3, 4}(并集)
print(a - b)   # {1}(差集)
print(a ^ b)   # {1, 4}(对称差集)

集合常用于去重:

python 复制代码
nums = [1, 2, 2, 3, 3, 3, 4]
unique = set(nums)  # {1, 2, 3, 4}

9. 模块与包

9.1 导入模块

python 复制代码
import math
print(math.sqrt(16))   # 4.0

from datetime import datetime
print(datetime.now())

# 使用别名
import numpy as np
arr = np.array([1, 2, 3])

常用的标准库模块:

模块 用途
os 操作系统接口,文件路径操作
sys 系统相关参数和函数
math 数学函数
random 生成随机数
datetime 日期和时间处理
json JSON 数据编解码
re 正则表达式
collections 高级数据结构(如 Counter、defaultdict)

9.2 自定义模块

将代码保存为 my_module.py,在同一目录下通过 import my_module 引用。模块中的函数和变量可以通过 my_module.xxx 访问。

如果模块中包含了 if __name__ == "__main__": 代码块,当该文件被直接运行时,该代码块会执行;当被导入时,则不会执行:

python 复制代码
# my_module.py
def hello():
    print("Hello from my_module!")

if __name__ == "__main__":
    hello()  # 只在直接运行时执行

10. 文件操作

Python 使用 open() 函数读写文件,推荐配合 with 语句自动管理资源,无需手动关闭文件:

python 复制代码
# 写入文件
with open("test.txt", "w", encoding="utf-8") as f:
    f.write("Hello, Python!\n")
    f.write("第二行内容\n")

# 读取文件
with open("test.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

# 按行读取
with open("test.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())  # strip() 去除行尾换行符

常用文件模式:

模式 说明
r 只读,文件必须存在
w 写入,清空已有内容,文件不存在则创建
a 追加,在文件末尾添加内容
rb 二进制只读
wb 二进制写入
r+ 读写模式,文件必须存在

处理 JSON 文件:

python 复制代码
import json

data = {"name": "Alice", "age": 25}
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

with open("data.json", "r", encoding="utf-8") as f:
    loaded = json.load(f)
    print(loaded)  # {'name': 'Alice', 'age': 25}

11. 异常处理

使用 try...except 捕获异常,避免程序崩溃:

python 复制代码
try:
    num = int(input("请输入一个数字:"))
    result = 10 / num
except ValueError:
    print("输入的不是有效数字")
except ZeroDivisionError:
    print("除数不能为零")
except Exception as e:
    print(f"发生未知错误:{e}")
else:
    print(f"计算结果是:{result}")
finally:
    print("程序执行完毕")

结构说明:

  • try:放置可能引发异常的代码。
  • except:捕获特定类型异常并处理,可以写多个 except 捕获不同异常。
  • else:在无异常时执行,适合放正常逻辑。
  • finally:无论是否异常都会执行,通常用于释放资源、关闭连接等。

自定义异常:

python 复制代码
class InvalidAgeError(Exception):
    """自定义异常:年龄不合法"""
    pass

def set_age(age):
    if age < 0 or age > 150:
        raise InvalidAgeError(f"年龄 {age} 不合法")
    print(f"年龄设置为 {age}")

try:
    set_age(-1)
except InvalidAgeError as e:
    print(e)

12. 总结

本文从 Python 简介、环境搭建、基础语法、控制流、函数、数据结构、模块与包、文件操作到异常处理,系统梳理了 Python 的核心语法知识。掌握了这些内容,你已经具备了编写实用脚本的能力。

下一步学习建议:

  • 面向对象编程(OOP):类、对象、继承、多态。
  • 常用标准库ossysredatetimecollections 等。
  • 第三方库:根据兴趣方向选择,如数据分析(Pandas)、Web 开发(Flask/Django)、爬虫(Requests/Scrapy)。
  • 项目实战:通过实际项目巩固所学,如编写一个命令行工具、一个简单的 Web 应用或一个数据分析脚本。

多动手写代码是快速进步的最佳方式,祝你在 Python 学习之路上越走越远!

相关推荐
tedcloud12340 分钟前
Impeccable 部署指南:开源前端设计工具 Linux 环境搭建实践
linux·运维·服务器·前端·人工智能·开源
陈天伟教授43 分钟前
TraeWork初体验-生成研究报告
大数据·数据库·人工智能
苏灿烤鱼1 小时前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg
lucas_AI1 小时前
ConfBench:大模型的「我很有把握」,到底能不能信?
人工智能·算法
Hrain-AI1 小时前
2026企业AI Agent本地化落地:6平台横评+搭建步骤+成本模板
服务器·网络·人工智能
金銀銅鐵1 小时前
[Python] 借助 Pillow 和 NumPy 生成与斐波那契数列有关的图案
python·数学
雪之下雪乃的代码日记1 小时前
Python快速入门(Java开发者版)
java·开发语言·笔记·python
也非非也1 小时前
免费用户第一次拿到“思考“按钮:OpenAI用一次更新,重新定义了AI的“基础版“
人工智能·chatgpt
ms365copilot2 小时前
想开店?用Copilot研究助手快速做完项目可行性评估
人工智能·copilot