Python 用户如何知道哪些属性是私有的或公共的?

Python 用户如何知道哪些属性是私有的或公共的?,python,attributes,Python,Attributes,如果这个问题是愚蠢的,我很抱歉,但我只是开始处理OOP 通过在类的属性前面加一个下划线,可以使其成为半私有的。但是,如果文档中没有包含属性,用户如何在不查看代码的情况下真正知道这些属性是什么呢?Python通常基于约定而不是强制执行的规则,因此程序员和读者都认为这些属性是类工作的内部内容,而不是在调用类或其实例时直接访问 话虽如此,如果您要求,dir()函数将显示所有内容: dir(myinstance) 或 如果您想查看任何内联文档,可以说: help(myinstance.mymethod

如果这个问题是愚蠢的,我很抱歉,但我只是开始处理OOP


通过在类的属性前面加一个下划线,可以使其成为半私有的。但是,如果文档中没有包含属性,用户如何在不查看代码的情况下真正知道这些属性是什么呢?

Python通常基于约定而不是强制执行的规则,因此程序员和读者都认为这些属性是类工作的内部内容,而不是在调用类或其实例时直接访问

话虽如此,如果您要求,dir()函数将显示所有内容:

dir(myinstance)

如果您想查看任何内联文档,可以说:

help(myinstance.mymethod)

变量(某些对象)
?或者
dir(某个对象)
?在交互式控制台中,您还可以使用
help(某些对象)
,它将显示所有属性和方法及其docstring。@Bakuriu但dpesn不是
help()
仅列出方法,而不是属性?Python中的属性和方法没有区别。如果您有一个对象的实例,并对其调用
help
,则会显示所有属性和方法。如果对类调用
help
,则(实例)属性不是类的一部分,因此不会显示。顺便说一下:我看不出其他语言有什么不同。如果您有一个(例如)Java程序:1)不提供文档,2)您不想查看代码,那么您就无法获得类的方法或属性列表。
help(myinstance.mymethod)