01 - 快速入门:10分钟Python速览

想系统提升编程能力、查看更完整的学习路线,欢迎访问 AI Compass:https://github.com/tingaicompass/AI-Compass
仓库持续更新刷题题解、Python 基础和 AI 实战内容,适合想高效进阶的你。

01 - 快速入门:10分钟Python速览

学习目标: 通过一个完整的LeetCode解法,快速了解Python的核心语法


📖 知识点讲解

为什么选择Python?

Python是算法学习的最佳语言:

  • 语法简洁: 相比Java/C++,代码量减少50%
  • 内置强大: 字典、集合、列表推导式等开箱即用
  • 调试友好: 动态类型,不用声明变量类型
  • 面试首选: 大厂面试普遍允许用Python

Python的"哲学"

"简单优于复杂"

Python追求代码的可读性,所以语法设计得像英语一样自然:

if x in my_list:  # 如果x在列表中
for item in items:  # 对于items中的每个item

💻 代码示例

示例1:完整解法 - 两数之和(LeetCode 1)

我们用一个完整的LeetCode题目解法,来展示Python的核心语法:

def twoSum(nums, target):
    """
    找出数组中两个数,使它们的和等于target
    """
    # 创建一个空字典,用来存储已经见过的数
    seen = {}

    # 遍历数组,enumerate同时获取索引和值
    for i, num in enumerate(nums):
        # 计算需要配对的数
        complement = target - num

        # 检查配对数是否在字典中
        if complement in seen:
            # 找到答案,返回两个索引
            return [seen[complement], i]

        # 把当前数存入字典
        seen[num] = i

    # 如果没找到,返回空列表
    return []

# 测试代码
nums = [2, 7, 11, 15]
target = 9
result = twoSum(nums, target)
print(f"输入: nums = {nums}, target = {target}")
print(f"输出: {result}")  # [0, 1]

运行输出:

输入: nums = [2, 7, 11, 15], target = 9
输出: [0, 1]

语法标注版(逐行解释)

def twoSum(nums, target):  # def定义函数,nums和target是参数
    seen = {}              # {}创建空字典(哈希表)

    for i, num in enumerate(nums):  # enumerate获取索引i和值num
        complement = target - num   # 简单的减法运算

        if complement in seen:      # in检查键是否在字典中
            return [seen[complement], i]  # []创建列表,return返回结果

        seen[num] = i       # 字典赋值:键是num,值是i

print(f"输出: {result}")  # f-string格式化字符串输出

示例2:Python vs 其他语言

同样的逻辑,Python代码最简洁:

Java版本(需要15行):

public int[] twoSum(int[] nums, int target) {
    Map<Integer, Integer> seen = new HashMap<>();
    for (int i = 0; i < nums.length; i++) {
        int complement = target - nums[i];
        if (seen.containsKey(complement)) {
            return new int[] { seen.get(complement), i };
        }
        seen.put(nums[i], i);
    }
    return new int[] {};
}

Python版本(只需8行):

def twoSum(nums, target):
    seen = {}
    for i, num in enumerate(nums):
        if target - num in seen:
            return [seen[target - num], i]
        seen[num] = i
    return []

示例3:核心语法速览

# 1. 变量赋值(不需要声明类型)
x = 10           # 整数
name = "Alice"   # 字符串
is_valid = True  # 布尔值

# 2. 列表(数组)
nums = [1, 2, 3, 4, 5]
print(nums[0])    # 访问第一个元素 → 1
print(nums[-1])   # 访问最后一个元素 → 5

# 3. 字典(哈希表)
scores = {"Alice": 90, "Bob": 85}
print(scores["Alice"])  # → 90

# 4. 控制流
if x > 5:
    print("x大于5")
elif x == 5:
    print("x等于5")
else:
    print("x小于5")

# 5. 循环
for num in [1, 2, 3]:
    print(num)  # 依次打印1, 2, 3

# 6. 函数
def add(a, b):
    return a + b

result = add(3, 5)  # 8

🎯 在算法题中的应用

这些语法在107道题中无处不在:

语法 应用题目示例 频率
def 函数定义 所有题目 100%
for 循环 所有需要遍历的题目 95%
{} 字典 第1课:两数之和
第2课:字母异位词分组
80%
[] 列表 所有需要存储结果的题目 90%
if/else 条件判断 所有需要分支逻辑的题目 85%
in 成员检测 第3课:最长连续序列 70%
enumerate 第1课:两数之和 60%

实际代码片段

来自第1课:两数之和

for i, num in enumerate(nums):  # ← enumerate同时获取索引和值
    if target - num in seen:     # ← in检查是否在字典中
        return [seen[target - num], i]  # ← return返回列表

来自第2课:字母异位词分组

groups = {}  # ← 创建空字典
for word in strs:  # ← for循环遍历
    key = "".join(sorted(word))  # ← 字符串方法join和内置函数sorted
    groups[key] = groups.get(key, []) + [word]  # ← 字典的get方法

🏋️ 快速练习

练习1:修改代码

给定以下代码,修改它使其返回两个数的乘积而不是和:

def calculate(a, b):
    return a + b

print(calculate(3, 4))  # 当前输出: 7
点击查看答案
def calculate(a, b):
    return a * b  # 改成乘法运算符

print(calculate(3, 4))  # 输出: 12

练习2:判断元素是否在列表中

完成以下代码,判断数字5是否在列表中:

nums = [1, 2, 3, 4, 5]
# 在这里写代码,判断5是否在nums中

点击查看答案
nums = [1, 2, 3, 4, 5]

# 方法1:使用in关键字(推荐)
if 5 in nums:
    print("5在列表中")

# 方法2:遍历查找
found = False
for num in nums:
    if num == 5:
        found = True
        break
if found:
    print("5在列表中")

解释: Python的in关键字非常直观,就像英语一样!


练习3:创建并访问字典

创建一个字典存储水果价格,然后获取苹果的价格:

# 创建字典: 苹果5元, 香蕉3元, 橙子4元


# 获取苹果的价格并打印

点击查看答案
# 创建字典
prices = {"苹果": 5, "香蕉": 3, "橙子": 4}

# 获取苹果的价格
apple_price = prices["苹果"]
print(f"苹果的价格是: {apple_price}元")  # 输出: 苹果的价格是: 5元

# 或者使用get方法(更安全,避免KeyError)
apple_price = prices.get("苹果", 0)  # 如果不存在返回0
print(apple_price)

🎓 小结

通过这一课,你应该了解了:

✅ Python的核心优势: 简洁、直观、强大
✅ Python的基本语法: 变量、列表、字典、函数、循环、条件
✅ 如何读懂真实的算法题代码

下一步:


Happy Coding! 🚀


如果这篇内容对你有帮助,推荐收藏 AI Compass:https://github.com/tingaicompass/AI-Compass
更多系统化题解、编程基础和 AI 学习资料都在这里,后续复习和拓展会更省时间。

posted @ 2026-04-07 17:21  汀、人工智能  阅读(3)  评论(0)    收藏  举报