数学之美读后感
我读了《数学之美》里关于“自然语言处理”这一章,觉得非常有意思。书中讲到,如何通过数学模型和统计方法,让计算机能够理解和处理我们人类的语言。这让我想到了我们常用的搜索引擎、语音助手这些应用,背后都有这些技术的支持。
让我印象最深的部分是贝叶斯概率。书里说,通过这个方法,计算机可以预测接下来我们可能会说或打的词语。这种技术在很多地方都有用,比如输入法自动联想,或者语音助手给我们推荐答案。
作为一名软件工程专业的学生,以前我可能更多关注的是编程本身,想着怎么写代码更高效。但是这次看了这章后,我意识到,数学其实在很多算法和技术背后起着关键作用。只有把数学基础打牢,才能更好地设计和优化程序。
读完这章,我对人工智能和自然语言处理的兴趣更浓了。我希望在未来的学习中,把编程和数学更好地结合,去探索更多可能性。总体来说,这本书让我更加认识到,数学不仅是一门课,更是推动科技进步的重要工具。希望以后能通过自己的努力,为技术发展贡献一份力量。
#谷歌python编码规范
1. 缩进
- 使用4个空格进行缩进,不要使用Tab。
- 块状结构(如函数、循环、条件语句等)必须保持一致的缩进。
2. 每行长度
- 每行代码最长为80个字符,对于较长的注释或文档字符串,最长为72个字符。
- 如果需要换行,可以使用Python的隐式换行或显式换行(使用反斜杠
\
)。
3. 空行
- 使用两个空行分隔顶级函数和类定义。
- 方法定义之间使用一个空行。
- 函数内部的逻辑部分之间可以使用空行来分隔,提高可读性。
4. 导入模块
- 模块导入应该分为三组,按照顺序分别是:
- 标准库导入。
- 第三方库导入。
- 本地库/模块导入。
- 各组之间用空行分隔。
- 使用绝对导入,尽量避免相对导入。
5. 注释
- 注释必须清晰、简洁、与代码保持同步。
- 使用完整的句子撰写注释,句子开头要大写,句末加句号。
- 行内注释应与代码至少有两个空格的间隔,并用
#
开头。
6. 文档字符串(Docstrings)
- 每个公开的模块、函数、类或方法都应编写文档字符串。
- 文档字符串的格式使用三引号(
"""
),单行和多行文档字符串的格式应符合PEP 257
。 - 尽量使用Google风格的文档字符串格式。
7. 空格使用
- 不要在逗号、分号、冒号之前添加空格。
- 函数调用时,不要在参数括号内添加空格,如:
func(a, b)
。 - 运算符周围加上一个空格,如:
x = y + z
。
8. 命名约定
- 模块名:小写字母,单词之间用下划线连接。
- 类名:使用首字母大写的驼峰命名法(CapWords)。
- 函数和变量名:使用小写字母,单词之间用下划线连接(snake_case)。
- 常量名:使用全大写字母,并用下划线分隔单词(如:
MAX_SIZE
)。
9. 异常处理
- 使用
try-except
语句进行异常捕获。 - 尽量捕获特定异常类型,而不是使用
except:
捕获所有异常。
10. 类和方法
- 类应使用驼峰命名法命名,实例方法的第一个参数必须命名为
self
。 - 类的私有属性应以下划线开头,如:
_private_var
。
11. 导入内容的限制
- 避免使用
from module import *
,应明确导入所需的函数、类等内容。
12. 其他
- 避免不必要的全局变量。
- 使用
is
或is not
来比较与None
的相等性,而不是==
或!=
。
更多详细信息可以参考Google的Python风格指南。