我在StackOverflow上发现了许多问题,这些问题几乎可以解决我的问题,但没有一个能完全解决。我在Python中有一个类,我想将它的方法拆分,以便我可以按以下方式使用该类:
my_greeter = Greeter(name='Bob')
my_greeter.sayHello()
#> "Hello Bob"
my_greeter.international.sayHola()
#> "Hola Bob"
我不太清楚如何构造我的文件和它们的内容来实现这一点。有人能举个例子吗?你知道吗
注意:这种行为在野外的一个例子是pandas.Series.str.contains()
,尽管源代码太密集,我无法分辨它们是如何做到这一点的。你知道吗
一种方法是将名为
international
的模块导入到所谓的Greeter
类中。然后,您可以按常规操作,并将international
命名空间下的方法放入另一个文件中。就你而言:国际档案:
注意事项:
始终在
international.py
中定义的每个方法中添加self
作为第一个参数当您在方法运行时将文件导入到类中时,函数会自动
self
传递给它如果您需要不希望用户使用的助手函数,我建议您将它们放在不同的文件中(并将它们导入方法中)
这是fluentapi设计的一个例子,它的核心使用方法链。Python中的实现思想是在完成每个方法应该执行的操作之后,从每个方法返回实例。你知道吗
下面是一个天真的例子:
可以将
add_two
设为property
以避免方法调用,并将其作为属性引用:编辑:带有
property
的示例:相关问题 更多 >
编程相关推荐