就像Java(或php)一样,我习惯将类分隔到文件中。
在Python中它是一样的交易吗?另外,我应该如何命名文件?
小写像classname.py或类似ClassName.py?
如果我想从这个类创建一个对象,或者它在同一个“项目”(netbeans)中是否可以从中创建一个对象,我是否需要做一些特别的事情?
答案 0 :(得分:47)
在Python中,一个文件称为module。模块可以包含多个类或函数。
由于Python 不只是OO语言,所以有一个规则说一个文件应该只包含一个类没有意义。
一个文件(模块)应包含属于一起的类/功能,即提供类似的功能或相互依赖 当然你不应该夸大这一点。如果您的模块包含太多类或函数,则可读性确实会受到影响。然后,可能是时候将功能重新组合到不同的模块中并创建packages。
对于命名约定,您可能希望阅读PEP 8,但简而言之:
班级名称
几乎无一例外,类名使用CapWords约定。 内部使用的类别还有一个主要的下划线。
和
套餐和模块名称
模块应该有简短的全小写名称。可以使用下划线 在模块名称中,如果它提高了可读性。 Python包应该 虽然使用下划线,但也有简短的全小写名称 气馁。
由于模块名称映射到文件名,而某些文件系统是 不区分大小写和截断长名称,重要的是模块 名称选择相当短 - 这在Unix上不会成为问题, 但是当代码被传输到较旧的Mac或时,它可能是一个问题 Windows版本,或DOS。
要实例化对象,您必须在文件中导入该类。 E.g
>>> from mymodule import MyClass
>>> obj = MyClass()
或
>>> import mymodule
>>> obj = mymodule.MyClass()
或
>>> from mypackage.mymodule import MyClass
>>> obj = MyClass()
您正在询问必要的基本内容,因此我建议您阅读tutorial。
答案 1 :(得分:2)
不,您可以在单个文件中定义多个类(和函数等)。文件也称为模块。
要使用模块/文件中定义的类/函数,您需要import
模块/文件。