当前位置: 首页 > news >正文

6个月Python学习计划 Day 11 - 列表推导式、内置函数进阶、模块封装实战

第一周

Day 1 - Python 基础入门 & 开发环境搭建
Day 2 - 条件判断、用户输入、格式化输出
Day 3 - 循环语句 + range 函数
Day 4 - 列表 & 元组基础
Day 5 - 字典(dict)与集合(set)
Day 6 - 综合实战:学生信息管理系统
Day 7 - 复盘 + 测试日

第二周

Day 8 - Python 函数基础
Day 9 - 函数进阶用法
Day 10 - 模块与标准库入门


🔹 一、列表推导式(List Comprehension)

列表推导式是 Python 提供的一种简洁写法,用来生成新的列表。

✅ 基本语法:

[表达式 for 变量 in 可迭代对象 if 条件]

🎯 示例:

# 生成 0~9 的平方
squares = [x**2 for x in range(10)]
print(squares)  # [0, 1, 4, ..., 81]# 过滤出偶数
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]

🔹 二、常用内置函数(Built-in Functions)

Python 有很多强大的内置函数,不用导入模块就能使用。

函数功能
len()返回长度
sum()求和
max() / min()最大/最小值
sorted()排序(不改变原列表)
zip()打包多个序列
enumerate()遍历时返回索引和值

🎯 示例:

nums = [3, 1, 5, 2]print(len(nums))        # 4
print(sum(nums))        # 11
print(sorted(nums))     # [1, 2, 3, 5]
print(list(enumerate(nums)))  # [(0, 3), (1, 1), ...]

🔹 三、自定义模块封装实战

将常用函数封装进一个模块,提升代码复用性和结构清晰度。

✅ 示例:my_utils.py

def reverse_str(s):return s[::-1]def is_prime(n):if n < 2:return Falsefor i in range(2, int(n**0.5)+1):if n % i == 0:return Falsereturn True

✅ 主程序调用:

from my_utils import reverse_str, is_primeprint(reverse_str("hello"))    # "olleh"
print(is_prime(17))            # True

📝 今日练习任务

  1. 使用 列表推导式:
    • 生成 1~100 中所有能被 3 整除的数字列表
    • 将字符串列表 [‘apple’, ‘banana’, ‘pear’] 变为大写字母

    # 找出 1~100 中能被 3 整除的数
    div_by_3 = [x for x in range(1, 101) if x % 3 == 0]
    print("能被3整除的数:", div_by_3)# 将水果名列表转为大写
    fruits = ['apple', 'banana', 'pear']
    upper_fruits = [fruit.upper() for fruit in fruits]
    print("大写水果名:", upper_fruits)
    

    输出结果:

    能被3整除的数: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
    大写水果名: ['APPLE', 'BANANA', 'PEAR']
    
  2. 使用内置函数:
    • 统计 [95, 87, 76, 88, 100] 的平均成绩
    • 使用 enumerate() 打印带索引的课程名 [‘语文’, ‘数学’, ‘英语’]

    # 计算平均成绩
    scores = [95, 87, 76, 88, 100]
    average = sum(scores) / len(scores)
    print("平均成绩:", average)# 使用 enumerate 打印课程名
    subjects = ['语文', '数学', '英语']
    for index, name in enumerate(subjects, start=1):print(f"课程 {index}{name}")
    

    输出结果:

    平均成绩: 89.2
    课程 1:语文
    课程 2:数学
    课程 3:英语
    
  3. 模块封装练习:
    • 将之前的 is_even、circle_area、reverse_str 封装进模块 my_math.py
    • 在主程序中测试导入并调用

    # 文件名:my_math.pydef is_even(num):return num % 2 == 0def circle_area(radius):return 3.14 * radius ** 2def reverse_str(s):return s[::-1]
    
    # 主程序调用 my_math 模块
    from my_math import is_even, circle_area, reverse_strprint("6 是偶数吗?", is_even(6))
    print("半径为 5 的圆面积:", circle_area(5))
    print("字符串反转:", reverse_str("Python"))
    

    输出结果:

    6 是偶数吗? True
    半径为 5 的圆面积: 78.5
    字符串反转: nohtyP
    

✅ 今日小结

知识点作用
列表推导式快速生成新列表
内置函数提高开发效率
模块封装提升代码复用性、可维护性

相关文章:

  • vscode 连接远程服务器
  • leetcode0404. 左叶子之和-easy
  • ROS仓库GPG签名密钥过期问题
  • DAY 36 超大力王爱学Python
  • 车辆检测算法在爆炸事故应急响应中的优化路径
  • 邮件验证码存储推荐方式
  • 安卓jetpack compose学习笔记-UI基础学习
  • 【Redis】笔记|第4节|Redis数据安全性分析
  • 商品模块中的多规格设计:实现方式与电商/ERP系统的架构对比
  • day 42
  • 基于 LLM 的商城智能客服助理开发实战
  • 什么是缺页中断(缺页中断详解)
  • 概率单纯形(Probability Simplex)
  • 缓存一致性协议的影响
  • 语音转文字工具
  • learn react course
  • 【JavaScript-Day 28】告别繁琐循环:`forEach`, `map`, `filter` 数组遍历三剑客详解
  • Selenium Manager中文文档
  • Python-Selenium报错截图
  • hysAnalyser --- 逐包分析MPEG-TS的功能说明
  • web网站开发论坛/天眼查企业查询入口
  • 上海做网站企业/每天看七个广告赚40元的app
  • wordpress网站工具栏/推广普通话海报
  • 政府蒙古文网站建设汇报材料/公司业务推广
  • 做网站那里好/深圳网络推广哪家好
  • 公安局网站备案流程/爱站seo查询