【Python 基础语法】

Python 基础语法是编程的基石,以下从核心要素到实用技巧进行系统梳理:


一、代码结构规范

  1. 缩进规则

    • 使用4个空格缩进(PEP 8标准)
    • 缩进定义代码块(如函数、循环、条件语句)
    python 复制代码
    def greet(name):
        if name:  # 正确缩进
            print(f"Hello, {name}!")
        else:     # 正确对齐
            print("Hello, Guest!")
  2. 行长度限制

    • 每行代码建议不超过79个字符(超长时用反斜杠\或括号换行)
    python 复制代码
    result = (value1 + value2 
             - value3 * value4)

二、变量与数据类型

1. 变量命名
  • 规则:字母/数字/下划线组合,区分大小写,不以数字开头
  • 惯例:小写字母+下划线(如user_age),常量全大写(如MAX_SIZE)
2. 动态类型
python 复制代码
count = 10        # int
count = "Ten"     # 类型自动变为str
3. 核心数据类型速查表
类型 示例 特性
int 42, 0b1010 任意精度整数
float 3.14, 2.5e3 浮点数精度约15位
str 'Python', """多行字符串""" 不可变,支持f-string格式化
list [1, "a", True] 可变,支持任意类型混合
dict {"name": "Alice", 3: [4,5]} 键唯一且不可变
tuple (1, 2, 3) 不可变,可作字典键
set {1, 2, 3} 唯一元素,无序
bool True, False 继承自int类型
None None 表示空值

三、运算符全家福

1. 运算优先级速记口诀

算术 > 位运算 > 比较 > 逻辑 > 赋值

(括号可强制提升优先级)

2. 特殊运算符
  • 链式比较 :1 < age < 100(等价于age > 1 and age < 100)
  • 海象运算符 (Python 3.8+):if (n := len(data)) > 10:(赋值表达式)
  • 矩阵乘法 :@(需numpy支持)

四、流程控制

1. 条件语句进阶
python 复制代码
# 三元表达式
status = "Even" if num % 2 == 0 else "Odd"

# 模式匹配(Python 3.10+)
match value:
    case 0:
        print("Zero")
    case _ if value < 0:
        print("Negative")
    case _:
        print("Positive")
2. 循环控制技巧
python 复制代码
# 遍历字典
for key, val in my_dict.items():
    print(f"{key}: {val}")

# 无限循环
while True:
    if condition:
        break  # 退出循环
    elif error:
        continue  # 跳过本次迭代

五、函数设计

1. 基础定义
python 复制代码
def calculate(a, b, operation="+"):
    """通用计算函数
    
    Args:
        a (int/float): 第一个操作数
        b (int/float): 第二个操作数
        operation (str): 运算符,默认为加法
    """
    return {
        "+": a + b,
        "-": a - b,
        "*": a * b,
        "/": a / b if b !=0 else "Error"
    }.get(operation, "Invalid Op")
2. 高级特性
  • 默认参数陷阱:避免使用可变对象(如def func(a=[]))
  • 关键字参数:func(a=1, b=2)
  • 位置参数:*args接收元组,**kwargs接收字典

六、输入输出

1. 格式化输出
python 复制代码
name = "Alice"
age = 25
print(f"{name} is {age} years old.")  # f-string(推荐)
print("{} is {} years old.".format(name, age))
2. 文件操作
python 复制代码
# 写入文件
with open("data.txt", "w", encoding="utf-8") as f:
    f.write("Hello, World!\n")

# 读取文件
with open("data.txt", "r") as f:
    content = f.read()

七、异常处理

python 复制代码
try:
    result = 10 / 0
except ZeroDivisionError:
    print("不能除以零!")
except (TypeError, ValueError) as e:
    print(f"类型错误: {str(e)}")
else:  # 无异常时执行
    print("计算成功")
finally:  # 始终执行
    print("操作结束")

八、模块化编程

python 复制代码
# 导入模块
import math
from collections import defaultdict

# 自定义模块
# 在my_module.py中定义:
def greet(name):
    return f"Hello, {name}!"

# 使用模块
import my_module
print(my_module.greet("Python"))

九、编码规范(PEP 8要点)

  1. 导入模块顺序:标准库 > 第三方库 > 本地库
  2. 运算符周围加空格:x = y + 3
  3. 函数/类之间空两行,方法之间空一行
  4. 注释使用英文,行注释以#开头

掌握这些基础语法后,可逐步进阶学习:面向对象编程、装饰器、生成器、异步编程等高级特性。建议通过实际项目(如开发简单计算器、待办事项管理器)巩固知识。

相关推荐
weixin_307779134 小时前
C++代码实现MATLAB中的dlarray函数功能
开发语言·c++·算法·matlab
一水鉴天7 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
Frank_refuel7 小时前
C++11之一场名为“搬家”的 C++ 之旅
开发语言·c++
海绵宝宝转agent7 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭7 小时前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
小小龙学IT8 小时前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
Wang's Blog8 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_962071578 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
卷无止境9 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
\光辉岁月/9 小时前
5.java-数组
java·开发语言