Python中的参数,局部变量和全局变量编码规范

2024-04-28 08:32:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,无法区分参数、局部变量和全局变量。这样做的简单方法可能是使用一些编码约定,例如

  • 全局变量以\和大写字母开头
  • 参数以“u”结尾
_Gvariable = 10
def hello(x_, y_):
   z = x_ + y_

这是一条Python之路吗?我的意思是,有没有成熟的/商定的编码标准来区分python中的它们?

==添加的==

我只想区分参数和局部变量。因为参数是从外部给出的,更像是一个ROM,因为它不被认为是只读的。 C++提供const关键字以防止参数改变,但不用于Python。我认为在python中附加u可以是模拟此特性的一种方法。


Tags: 方法hello编码参数defrom结尾大写字母
3条回答

我将根据PEP 8的指导方针来完成所有的python编程。任何需要阅读你的代码的人都会感谢你的。

http://www.python.org/dev/peps/pep-0008/

为什么需要区分参数和局部变量,因为其中一个只是另一个的子集。如果存在本地全局问题,可以使用locals()globals()vars()查看范围。inspect模块也可以帮助解决这个问题。如果可能的话,尽量避免使用全局变量。

那太可怕了。没有任何理由对全局和本地对象使用特殊的命名方案。此外,除非全局对象是函数、类或常量,否则应避免它们。

常量的名称应为大写,并用下划线分隔,如“THIS”,类名应为THIS,函数和方法名应为任何其他名称。特定于实现的对象的名称可以随时更改/删除,或者由于任何其他正当原因不能依赖这些对象的名称,这些对象的名称应以下划线作为前缀。

您还应该阅读Python styleguide PEP 8,它涵盖了这些和更多与样式相关的规则,只要不降低代码的可读性,就应该遵循这些规则。大多数Python项目都遵循此样式指南,或者至少遵循此样式指南的兼容版本。

在python中,很明显哪些变量是局部变量,哪些是全局变量,因为要修改全局变量,必须在函数的开头使用global关键字声明它。然而,有时我会添加一个全局声明,即使python不需要编译它,以强调一个对象是全局的,例如修改一个可变的全局数据结构。

参数应该很明显,因为它们在函数声明中。

正如其他人所说,常量应该是大写的,并带有下划线,这是许多语言共享的约定。

如果您发现无法跟踪全局、局部和参数变量,我建议您的问题可能是您的函数太长,做得太多。函数和方法应该简短,并且只做一件事。如果我的函数超过大约10-20行代码,我就开始有重构的欲望。

我建议你读罗伯特·马丁的《干净代码》一书。这些例子都是用Java编写的,但是这些原则适用于所有语言。

相关问题 更多 >