#100DaysOfPython 第 2 天:函数、作用域和最佳实践
在#100DaysOfPython 系列课程的第 3 天我将学习什么?
到目前为止,我已经学习了一些 Python 拥有的不同类型以及如何打印 Hello World。不过,今天我学习了更多关于 Python 的最佳实践、函数以及该语言如何处理局部和全局作用域中的变量访问(剧透警告:作用域在 Python 中的工作方式与在 JavaScript 中相同 :-p)。
更新:我的笔记会随着我学到更多东西而不断更新。我只是在积极学习的同时发布笔记。我并不自称是 Pythonista,我也不是专家。
倡导最佳实践
杰出工程师的一项关键素质是始终遵循最佳实践编写代码。但这为什么重要呢?包含最佳实践的风格指南本质上是一套规则和指南,旨在确保代码的一致性、可读性和效率。
Python 社区遵循的标准称为PEP-8。我的建议是,尤其是对于初学者来说,请将这份风格指南(或与你的编程语言/框架相关的风格指南)添加到书签中,并经常参考。
对早期职业开发人员的关键提示:编写始终如一的优秀代码的最佳方法是始终练习和参考标准指南。
以下仅列举 Python 的一些最佳实践:
规则 | 意义 | 例子 |
---|---|---|
函数和变量名称 | 明确变量和函数名称 | x =“x 是一个不起眼的变量名” vs favorite_food =“这个变量名可以让我们更好地了解这条数据的含义” |
缩进 | 缩进是 Python 中的一个重要概念 | 每个缩进级别使用 4 个空格 |
下划线增强了可读性 | 对于描述性且较长的变量和函数名称,请使用下划线使名称更具可读性 | self_care_message() 与 selfcaremessage() |
避免使用容易混淆的独立字母作为变量或函数名称;除非它们在数学上有意义 | 使用小写字母'l'、大写字母O或大写字母I可能会造成混淆。我们写代码不是为了自己,而是为了别人。 | i = 1 |
关于函数
缩进很重要,大家
函数的剖析:
- def是你初始化函数的方式
- 命名函数并尽可能描述(记住,如果命名冗长,请在函数名称的每个单词之间使用下划线)
- 在函数名后面加上括号和冒号!(作为一名 JavaScript 开发人员,我最初被这个问题困扰,所以一直使用分号)
- 缩进(一个制表符或 4 个空格)来创建指令(又称返回或打印语句)
- 按 Enter 键完成并退出该功能
- 使用您指定的名称加上括号来调用该函数
返回语句与打印语句之间的区别
返回语句将明确返回一个值。
打印语句不会返回任何内容。
本地和全局范围
作用域决定了哪些变量可以被访问。我在 JavaScript 中学习过,有全局作用域和局部作用域。
局部作用域是指在函数内定义的变量只能在定义它的函数内访问。全局作用域(也就是应用程序的其余部分)无法访问它。
在内部/局部作用域中,函数可以访问其内部定义的变量;也可以访问全局作用域(即该函数外部应用程序的其余部分)中定义的变量,但无法更改它们。这意味着您无法在局部函数中重新分配全局变量。
没有适当空格的函数会导致缩进错误。
在生产级代码中,不要在定义范围之外定义太多全局变量,以防止混淆和错误;常量可以在范围之外定义
关于参数的注释
默认参数有点像 fallback/default 选项,当你调用函数时不调用最后一个参数时,它始终是函数中的最后一个参数。
在#100DaysOfPython 系列课程的第 3 天我将学习什么?
- 更高级的数据类型,如集合、元组、字典