我有一个简单的Python类,带有一个构造函数和一个方法。我希望该方法只能从构造函数调用,而不能在类定义之外调用。在Python中有什么方法可以做到这一点吗?我知道我可以通过在构造函数中定义一个函数来做到这一点,但我不想这么做。 def __init__(self): # do something
test.do_something() # Should not work (S
/bar_spec.rb:11:in `block (2 levels) in <top (required)>'测试将它的test double定义为一个常规类,而不是使用rspec这是因为测试双有一个线程。在双测试内部是这样的代码: # Note: Uses the old (rspec 2) syntax.私人解决方案 class B
name '_Test__doA' is not defined
如果在类定义中以文本形式出现的标识符以两个或多个下划线字符开头,而不以两个或多个下划线结尾,则该标识符被视为该类的私有名称在为私有名称生成代码之前,将其转换为更长的表单。转换插入类名,去掉前导下划线,在名称前面插入一个下划线。例如,出现在名为Ham的类中的标识符__spam将被转换为_Ham__spam。我想维护这两个下划线,因为这个模块将被许多人使用,我是为了表示方法是私有的,但是我仍然希望类能够访问它们。def __doA__():