出现这样的提示一般就是命名不规范,所以要养成良好的命名规范
python 官方的文档地址链接:https://www.python.org/dev/peps/pep-0008/
效果如下:
里面有很多规范,我截取了命名规范,大家可以看下,不过还是建议有空到官方文档看看
软件包和模块名称
模块应使用简短的全小写名称。如果可以提高模块的可读性,则可以在模块名称中使用下划线。尽管不鼓励使用下划线,但Python软件包也应使用短的全小写名称。
当用C或C ++编写的扩展模块具有随附的Python模块提供更高级别(例如,更多面向对象)的接口时,C / C ++模块具有下划线(例如_socket)。
类名
类名通常应使用CapWords约定。
在接口被记录并主要用作可调用函数的情况下,可以代替使用函数的命名约定。
请注意,内置名称有一个单独的约定:大多数内置名称是单个单词(或两个单词一起运行),而CapWords约定仅用于异常名称和内置常量。
类型变量名
在PEP 484中引入的类型变量的名称通常应使用CapWords,而应使用短名称:T,AnyStr,Num。建议将后缀_co或_contra分别添加到用于声明协变或反变行为的变量中:
<span style="color:#444444">从输入import TypeVar
VT_co = TypeVar('VT_co',covariant = True)
KT_contra = TypeVar('KT_contra',convariant = True)
</span>
异常名称
因为异常应该是类,所以在这里适用类命名约定。但是,您应该在异常名称上使用后缀“ Error”(如果异常实际上是一个错误)。
全局变量名
(我们希望这些变量只能在一个模块内使用。)约定与函数的约定大致相同。
设计用于通过M import *使用的模块应使用__all__机制以防止导出全局变量,或使用较早的约定在此类全局变量前加下划线(您可能需要这样做以指示这些全局变量是“模块非公开的” ”)。
函数和变量名
函数名称应小写,必要时用下划线分隔单词以提高可读性。
变量名与函数名遵循相同的约定。
仅在已经是主流样式(例如threading.py)的上下文中才允许使用mixedCase,以保持向后兼容性。
函数和方法参数
始终将self作为实例方法的第一个参数。
始终对类方法的第一个参数使用cls。
如果函数参数的名称与保留关键字发生冲突,通常最好在其后附加一个下划线,而不要使用缩写或拼写错误。因此,class_优于clss。(也许最好通过使用同义词来避免此类冲突。)
方法名称和实例变量
使用函数命名规则:小写,必要时用下划线分隔单词,以提高可读性。
仅对非公共方法和实例变量使用前导下划线。
为避免名称与子类冲突,请使用两个前导下划线来调用Python的名称处理规则。
Python使用类名来修饰这些名称:如果Foo类具有名为__a的属性,则Foo .__ a不能访问它。(坚持的用户仍可以通过调用Foo._Foo__a来获得访问权限。)通常,双引号下划线仅应用于避免名称与设计为子类的类中的属性发生冲突。
注意:关于__name的使用存在一些争议(请参见下文)。