3小时入门Python——第十五课命名变量

  |   0 评论   |   0 浏览   |   给我丶鼓励

如您所知,每个变量都有一个在其他变量中唯一标识它的名称。给变量起好名字可能并不像看起来那么简单。经验丰富的程序员非常注重命名,以使其程序易于理解。这很重要,因为程序员会花费大量时间阅读和理解其他程序员编写的代码。如果变量的名称不正确,那么几个月后您甚至看不到自己的代码。在本主题中,我们将考虑如何根据 Python 社区中建立的约定和最佳实践为变量选择好名称。

代码样式约定

PEP 8 为变量名称提供了一些规则,以提高代码的可读性。

  • 使用小写和下划线来分割单词。即使是缩写。
http_response  # yes!
httpresponse   # no
myVariable     # no, that's from Java

但是,如果要定义一个常量,通常会用所有大写字母写它的名字,然后用下划线将单词分开。通常,常量存储在称为模块的特殊文件中。尽管我们稍后会介绍,但这是一个小示例:

SPEED_OF_LIGHT = 299792458
  • 避免将一个字母的名称容易与数字混合,例如“ l”(小写字母 el),“ O”(大写字母 oh)或“ I”(大写字母 eye)。
l = 1    # no
O = 100  # no, if you use this variable name further in your code it would look like zero
  • 尽管可以使用任何 Unicode 符号,但是代码样式约定建议使用 ASCII 字符限制变量名。
# Using Cyrillic instead of Latin can cause an evening of useless headache
# These are different variables!
copy = "I'm written in Latin alphabet"        # yes!
сору = "And I'm written using the Cyrillic!"  # no
  • 如果最合适的变量名是某些 Python 关键字,请在其末尾添加下划线。
class_ = type(var)  # yes!
klass = type(var)   # no

有关名称的所有代码样式规则在 PEP 8 中进行了描述。

其他变量名最佳实践

还有许多编程语言共有的一些最佳实践。

  • 选择一个有意义的名称。变量名必须可读且具有描述性,并应向读者解释将在其中存储哪种类型的值。
score  # yes!
s      # no
 
count  # yes!
n      # no
  • 不要使用过于通用的名称。尝试选择一个可以解释变量含义的名称。但是不要太罗 y。通常 1-3 个字就足够了。
http_response                  # yes!
var1                           # no
http_response_from_the_server  # no, some words can be dropped
  • 如果单词很长,请尝试找到最常见且最期望的简短形式,以便以后容易猜到。
output_file_path  # yes!
fpath             # no
output_flpth      # no
  • 避免从内置类型列表中使用名称。
str = 'Hello!'  # no, because in the further code you can't use str type as it's overridden

注意,最后的最佳实践是特定于 Python 的。

结论

所有命名约定和最佳实践都是可选的,但强烈建议您遵循它们。正如我们在本课开始时提到的那样,它们使您和其他程序员对您的代码更具可读性和自我描述性。


标题:3小时入门Python——第十五课命名变量
作者:给我丶鼓励
地址:https://blog.doiduoyi.com/articles/1592830896473.html

评论

发表评论