繁体   English   中英

Python中的类是否在不同的文件中?

[英]Are classes in Python in different files?

就像Java(或php)一样,我习惯将类分隔到文件中。
在Python中它是一样的交易吗? 另外,我应该如何命名文件?
小写像classname.py或类似ClassName.py?
如果我想从这个类创建一个对象,或者它在同一个“项目”(netbeans)中的事实是否可以从中创建一个对象,我是否需要做一些特别的事情?

在Python中,一个文件称为模块 模块可以包含多个类或函数。

由于Python 不仅仅是一种OO语言,因此有一个规则说一个文件应该只包含一个类是没有意义的。

一个文件(模块)应该包含属于一起的类/函数,即提供类似的功能或相互依赖。
当然你不应该夸大这一点。 如果您的模块包含太多类或函数,则可读性确实会受到影响。 然后,可能是时候将功能重新组合到不同的模块中并创建


对于命名约定,您可能希望阅读PEP 8,但简而言之:

班级名称

几乎无一例外,类名使用CapWords约定。 内部使用的类别还有一个主要的下划线。

包和模块名称

模块应具有简短的全小写名称。 如果提高可读性,则可以在模块名称中使用下划线。 Python包也应该有简短的全小写名称,但不鼓励使用下划线。

由于模块名称映射到文件名,并且某些文件系统不区分大小写并截断长名称,因此选择模块名称相当短很重要 - 这在Unix上不是问题,但它可能是将代码传输到较旧的Mac或Windows版本或DOS时出现问题。


要实例化对象,必须在文件中导入该类。 例如

>>> from mymodule import MyClass
>>> obj = MyClass()

要么

>>> import mymodule
>>> obj = mymodule.MyClass()

要么

>>> from mypackage.mymodule import MyClass
>>> obj = MyClass()

您正在询问必要的基本内容,因此我建议您阅读本教程

不,您可以在单个文件中定义多个类(和函数等)。 文件也称为模块。

要使用模块/文件中定义的类/函数,您需要import模块/文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM