Python基础语法全面汇总与解析

Python 语法
│
├── 基本结构
│   ├── 语句(Statements)
│   │   ├── 表达式语句(如赋值、算术运算)
│   │   ├── 控制流语句(if, for, while)
│   │   ├── 定义语句(def, class)
│   │   └── 导入语句(import, from ... import)
│   ├── 代码块(由缩进定义)
│   └── 注释(单行 #, 多行 ''' 或 """)
│
├── 数据类型
│   ├── 基本类型
│   │   ├── 数字(int, float, complex)
│   │   ├── 字符串(str)
│   │   ├── 布尔值(bool)
│   │   └── 空值(NoneType)
│   ├── 复合类型
│   │   ├── 列表(list)
│   │   ├── 元组(tuple)
│   │   ├── 字典(dict)
│   │   └── 集合(set)
│   └── 类型转换(如 int(), str(), list())
│
├── 运算符
│   ├── 算术运算符(+, -, *, /, //, %, **)
│   ├── 比较运算符(==, !=, <, >, <=, >=)
│   ├── 逻辑运算符(and, or, not)
│   ├── 位运算符(&, |, ^, ~, <<, >>)
│   └── 赋值运算符(=, +=, -=, 等)
│
├── 控制流
│   ├── 条件语句(if-elif-else)
│   ├── 循环语句(for, while)
│   ├── 跳转语句(break, continue, pass)
│   └── 异常处理(try-except-finally-else)
│
├── 函数
│   ├── 定义(def)
│   ├── 参数(位置参数、默认参数、可变参数)
│   ├── 返回值(return)
│   ├── 作用域(局部变量、全局变量)
│   └── 匿名函数(lambda)
│
├── 类与对象
│   ├── 类定义(class)
│   ├── 继承(单继承、多继承)
│   ├── 方法(实例方法、类方法、静态方法)
│   ├── 特殊方法(如 __init__, __str__)
│   └── 属性(@property)
│
├── 模块与包
│   ├── 模块(.py 文件)
│   ├── 导入(import 模块名, from 模块名 import 成员)
│   ├── 包(包含 __init__.py 的目录)
│   └── 标准库与第三方库
│
└── 其他特性
    ├── 迭代器与生成器(iter, next, yield)
    ├── 装饰器(@decorator)
    ├── 上下文管理器(with 语句)
    └── 元编程(如 type, exec, eval)


一、基础语法规则

1. 缩进与代码块
  • Python使用缩进(4个空格)代替大括号 {} 表示代码块。
  • 错误示例
  • if True:
    print("错误!")  # 缩进不一致会报错
    
  • 正确写法
  • if True:
        print("缩进正确!")  # 必须缩进4个空格
    
    2. 注释
  • 单行注释:以 # 开头。
  • 多行注释:用三引号 """''' 包裹。
  • # 这是单行注释
    """
    这是多行注释
    可以写多行内容
    """
    
    3. 语句分隔
  • 一行写多条语句时用分号 ; 分隔(不推荐,多条语句最好是分行写):
  • a = 5; b = 10; print(a + b)
    
    4. 变量命名
  • 规则:字母/数字/下划线组成,不能以数字开头。
  • 区分大小写:nameName 是不同变量。
  • 命名惯例:
  • 小写+下划线(如 user_name)。
  • 类名用大驼峰(如 ClassName)。

  • 二、数据类型与操作

    1. 基本数据类型
    类型 示例 说明
    int 5, -3 整数
    float 3.14, -2.5 浮点数
    str "Hello", 'Python' 字符串
    bool True, False 布尔值
    NoneType None 空值
    2. 复合数据类型
  • 列表(List):有序、可变
  • nums = [1, 2, 3]
    nums[0] = 10  # 修改元素
    
  • 元组(Tuple):有序、不可变
  • point = (10, 20)
    # point[0] = 5  # 报错!
    
  • 字典(Dict):键值对集合
  • user = {"name": "Alice", "age": 25}
    print(user["name"])  # Alice
    
  • 集合(Set):无序、唯一
  • unique_nums = {1, 2, 2, 3}  # 自动去重 → {1, 2, 3}
    
    3. 类型转换
    a = int("10")    # 字符串转整数 → 10
    b = float(5)     # 整数转浮点数 → 5.0
    c = str(3.14)    # 浮点数转字符串 → "3.14"
    d = list("abc")  # 字符串转列表 → ['a', 'b', 'c']
    

    三、运算符

    1. 算术运算符
    print(5 + 3)   # 加法 → 8
    print(5 ** 2)  # 幂运算 → 25
    print(10 % 3)  # 取模 → 1
    
    2. 比较运算符
    print(3 > 2)   # True
    print(5 == 5.0)  # True(值相等)
    print(5 is 5.0)  # False(对象不同)
    
    3. 逻辑运算符
    print(True and False)  # False
    print(not True)        # False
    
    4. 成员运算符
    nums = [1, 2, 3]
    print(2 in nums)    # True
    print(4 not in nums) # True
    

    四、流程控制

    1. 条件语句
    age = 18
    if age < 13:
        print("儿童")
    elif age < 18:
        print("青少年")
    else:
        print("成年人")
    
    2. 循环语句
  • for** 循环**:
  • for i in range(3):  # 输出0,1,2
        print(i)
    
    # 遍历列表
    fruits = ["apple", "banana"]
    for fruit in fruits:
        print(fruit)
    
  • while** 循环**:
  • count = 0
    while count < 3:
        print(count)
        count += 1  # 必须手动更新条件
    
    3. 循环控制
    # break 终止循环
    for i in range(5):
        if i == 3:
            break  # 循环终止于i=3
        print(i)
    
    # continue 跳过当前迭代
    for i in range(5):
        if i == 2:
            continue  # 跳过i=2
        print(i)
    

    五、函数

    1. 定义与调用
    def greet(name):
        """返回问候语(文档字符串)"""
        return f"Hello, {name}!"
    
    print(greet("Alice"))  # Hello, Alice!
    
    2. 参数传递
  • 默认参数
  • def power(base, exp=2):
        return base ** exp
    
    print(power(3))    # 9 (exp默认为2)
    print(power(3, 3)) # 27
    
  • 可变参数
  • def sum_all(*args):
        return sum(args)
    
    print(sum_all(1, 2, 3))  # 6
    
    3. Lambda函数
    square = lambda x: x ** 2
    print(square(5))  # 25
    

    六、面向对象编程(OOP)

    1. 类与对象
    class Dog:
        # 类属性
        species = "Canis familiaris"
    
        # 构造方法
        def __init__(self, name, age):
            self.name = name  # 实例属性
            self.age = age
    
        # 实例方法
        def bark(self):
            print(f"{self.name} 汪汪叫!")
    
    # 创建对象
    my_dog = Dog("Buddy", 3)
    my_dog.bark()  # Buddy 汪汪叫!
    
    2. 继承
    class GoldenRetriever(Dog):
        def __init__(self, name, age, color):
            super().__init__(name, age)
            self.color = color
    
        # 方法重写
        def bark(self):
            print("温柔的汪汪!")
    
    golden = GoldenRetriever("Max", 2, "金色")
    golden.bark()  # 温柔的汪汪!
    

    七、异常处理

    try:
        num = int(input("输入数字:"))
        result = 10 / num
    except ValueError:
        print("输入的不是数字!")
    except ZeroDivisionError:
        print("不能除以0!")
    else:
        print(f"结果是{result}")
    finally:
        print("程序执行完毕")
    

    八、文件操作

    # 写入文件
    with open("test.txt", "w") as f:
        f.write("Hello, Python!")
    
    # 读取文件
    with open("test.txt", "r") as f:
        content = f.read()
        print(content)  # Hello, Python!
    

    九、模块与包

    1. 导入模块
    import math
    print(math.sqrt(16))  # 4.0
    
    from datetime import datetime
    print(datetime.now())  # 当前时间
    
    2. 自定义模块
  • 创建 mymodule.py
  • def say_hello():
        print("Hello from mymodule!")
    
  • 导入使用:
  • import mymodule
    mymodule.say_hello()
    

    十、Pythonic技巧

    1. 列表推导式
    squares = [x**2 for x in range(5)]  # [0, 1, 4, 9, 16]
    
    2. 字典推导式
    square_dict = {x: x**2 for x in range(3)}  # {0:0, 1:1, 2:4}
    
    3. 上下文管理器
    with open("file.txt", "r") as f:
        data = f.read()  # 自动关闭文件
    

    常见错误与规范

    1. 缩进错误:代码块必须严格对齐。
    2. 变量未定义:使用前需先赋值。
    3. 修改不可变对象:如字符串、元组不可修改。
    4. PEP8规范
    5. 每行不超过79字符
    6. 函数/类之间空两行
    7. 逗号后加空格

    作者:oscar999

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python基础语法全面汇总与解析

    发表回复