Python 基础语法

以下是 Python 基础语法 的系统梳理(2025–2026 视角),覆盖零基础到能写小工具的常用核心内容。

我会用最清晰的分类 + 代码示例 + 常见陷阱的方式呈现,方便快速查阅和记忆。

1. 基本规则(必须记住的前5条)

规则说明示例 / 注意事项
缩进决定代码块没有 {},用缩进来表示代码层次(推荐4个空格)混用空格+Tab → IndentationError
语句不需要分号一行通常一条语句,可用 ; 写多条(不推荐)x=1; y=2
区分大小写Truetrue
注释单行 #,多行 '''"""(也常作文档字符串)
动态类型 + 鸭子类型变量无需声明类型,关注“能不能用”而非“是什么类型”

2. 变量与赋值(2025年写法趋势)

# 推荐写法(Python 3.6+ 类型提示越来越流行)
name: str = "重阳"           # 类型提示(不强制)
age: int = 18
height: float = 1.75
is_active: bool = True

# 多变量赋值(很常用)
x, y, z = 10, 20, "hi"

# 交换两个变量(Python特色,一行完成)
x, y = y, x

# 链式赋值
a = b = c = 0

3. 核心数据类型(2025主流用法)

类型可变?示例创建方式常用操作 / 方法
intx = 42x = 1_000_000(下划线可读)// 整除, ** 幂, bit_length()
float3.14, 1e-10round(x, 2), math.isclose()
boolTrue, Falseand or not 短路求值
str不可变'hello', "世界", f"{name} {age}"f-string, .format(), .strip(), .split()
list可变[], [1, 2, 3], list(range(10))append, extend, pop, insert, 切片
tuple不可变(), (1,), (x, y)解包,常用作函数多返回值
dict可变{}, {"a":1}, dict(a=1,b=2)get(), setdefault(), items(), |=合并
set可变set(), {1,2,3}add, remove, union |, intersection &

2025新手最推荐的字符串写法(f-string 几乎全面取代旧方式):

name = "重阳"
age = 25
print(f"大家好,我是{name},今年{age}岁")          # 最常用
print(f"{age=}")                                     # 调试神器:age=25
print(f"{price=:.2f} 元")                            # 格式控制

4. 控制流(if / for / while)

# if - elif - else(注意冒号和缩进)
score = 85
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
else:
    grade = "C"

# 条件表达式(三元运算符)
status = "成年" if age >= 18 else "未成年"

# for 循环(最常用两种)
for i in range(5):              # 0 1 2 3 4
    print(i)

for idx, value in enumerate(["a", "b", "c"]):
    print(f"第{idx}个元素是 {value}")

# while(小心死循环)
count = 0
while count < 3:
    print("循环中...")
    count += 1

5. 函数(def + lambda)

# 普通函数(带类型提示越来越流行)
def greet(name: str, age: int = 18) -> str:
    """问候函数"""
    return f"你好,{name}!今年{age}岁"

# 可变参数(*args, **kwargs)
def add(*numbers):
    return sum(numbers)

# lambda(匿名函数,常用于排序、map等)
square = lambda x: x*x
sorted_students = sorted(students, key=lambda s: s["score"], reverse=True)

# Python 3.10+ 新语法:结构化模式匹配(match-case)
match command:
    case "quit" | "exit":
        print("再见")
    case ["add", x, y]:
        print(x + y)
    case _:
        print("未知命令")

6. 异常处理(try-except)

try:
    num = int(input("请输入数字:"))
    result = 100 / num
except ValueError:
    print("请输入有效的数字!")
except ZeroDivisionError:
    print("不能除以0!")
except Exception as e:          # 捕获其他异常
    print(f"发生未知错误:{e}")
else:
    print("计算成功,结果是", result)
finally:
    print("无论如何都会执行这段代码")

7. 常用内置函数(前10个最实用)

print()       len()       type()       id()
range()       sum()       max/min      sorted()
input()       str/int/float/bool
list() tuple() dict() set()

8. 模块导入(import 写法对比)

import math
print(math.sqrt(16))           # 经典写法

from math import sqrt, pi      # 推荐常用函数直接导入
print(sqrt(25), pi)

from datetime import datetime as dt   # 起别名(很常见)
print(dt.now())

import numpy as np             # 数据科学/机器学习几乎必用别名

快速自测清单(掌握这些就能写小工具)

  • [ ] 能正确写 f-string 和 format
  • [ ] 熟练使用列表推导式 [x*2 for x in range(10) if x%2==0]
  • [ ] 能写带默认参数和 args/*kwargs 的函数
  • [ ] 能处理常见异常(ValueError, ZeroDivisionError, FileNotFoundError)
  • [ ] 知道 enumerate(), zip(), range()
  • [ ] 能读写简单 txt/json/csv 文件
  • [ ] 能用 if __name__ == "__main__": 写可执行脚本

如果你现在能流畅写出下面这段代码,就说明基础已经过关了:

def count_words(text: str) -> dict:
    words = text.lower().split()
    result = {}
    for word in words:
        result[word] = result.get(word, 0) + 1
    return result

text = "Python is great Python is fun"
print(count_words(text))
# 输出类似:{'python': 2, 'is': 2, 'great': 1, 'fun': 1}

想重点深入哪一块?

  • 列表/字典推导式 + 生成器表达式
  • 文件读写(txt/json/csv)
  • 类与面向对象基础
  • 常用标准库(datetime / random / os / sys)
  • 调试技巧(print vs logging vs pdb)
  • Pythonic 写法 vs 不推荐写法对比

直接告诉我,我继续给你展开~

文章已创建 4298

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部