zj3D 1 month ago
parent cc841ffaae
commit c29f01ece2

@ -38,5 +38,6 @@ def main():
word_freqs = Counter(word_count).most_common(10) word_freqs = Counter(word_count).most_common(10)
print_word_freqs(word_freqs) print_word_freqs(word_freqs)
if __name__ == '__main__': if __name__ == '__main__':
main() main()

@ -31,3 +31,6 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
main() main()
'''
简单的利用函数式风格
'''

@ -1,11 +1,19 @@
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"id": "f5d8e56d",
"metadata": {},
"source": [
"# 降低认知负荷"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "b9a9a366-7fd3-422b-b3bc-b0bc00374da6", "id": "b9a9a366-7fd3-422b-b3bc-b0bc00374da6",
"metadata": {}, "metadata": {},
"source": [ "source": [
"# 目标\n", "## 目标\n",
"- 理解封装方法(函数、类、模块)在代码组织中的作用。\n", "- 理解封装方法(函数、类、模块)在代码组织中的作用。\n",
"\n", "\n",
"封装方法:\n", "封装方法:\n",

@ -1,5 +1,13 @@
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"id": "8a36de81",
"metadata": {},
"source": [
"# 更优雅的执行流"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "86405617-889a-40c2-a895-7b51fb14b65d", "id": "86405617-889a-40c2-a895-7b51fb14b65d",
@ -7,7 +15,7 @@
"source": [ "source": [
"# 目标\n", "# 目标\n",
"\n", "\n",
"- 在词频统计案例中引入装饰器和函数式编程 。\n", "- 代码执行流在面向过程模式中包括顺序、选择、循环、函数,引入面向对象后,有了各种魔术方法的特殊执行时机。此外装饰器、生成器和函数风格编程 又规定了一些特定的代码执行流 。\n",
"- 分析这些特性和模式如何进一步优化代码质量(可读性、可维护性、可扩展性、复用性)。\n", "- 分析这些特性和模式如何进一步优化代码质量(可读性、可维护性、可扩展性、复用性)。\n",
"- 探讨高级特性在案例中的适用性与局限性。" "- 探讨高级特性在案例中的适用性与局限性。"
] ]
@ -280,10 +288,8 @@
"\n", "\n",
"实践练习:\n", "实践练习:\n",
"- 添加日志装饰器,记录每次文件处理的详细信息。\n", "- 添加日志装饰器,记录每次文件处理的详细信息。\n",
"- 使用 functools.reduce 重写 get_top_words尝试不同排序逻辑。\n",
"\n",
"扩展任务:\n",
"- 添加缓存装饰器,避免重复分词相同文件。\n", "- 添加缓存装饰器,避免重复分词相同文件。\n",
"- 使用 functools.reduce 重写 get_top_words尝试不同排序逻辑。\n",
"- 实现函数式管道,将文件读取、分词、统计串联为单一流。" "- 实现函数式管道,将文件读取、分词、统计串联为单一流。"
] ]
} }

@ -1,5 +1,17 @@
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"id": "1e804515",
"metadata": {
"vscode": {
"languageId": "raw"
}
},
"source": [
"# 按最佳实践写代码"
]
},
{ {
"cell_type": "raw", "cell_type": "raw",
"id": "eccfe49f-de35-4241-90e3-a7095940b61a", "id": "eccfe49f-de35-4241-90e3-a7095940b61a",

Loading…
Cancel
Save