【发布时间】:2018-07-12 14:46:20
【问题描述】:
在下面的例子中
class A():
def __init__(self):
self.foo = 'foo'
class B():
def __init__(self, a):
self.a = a
a = A()
B(a) # right
B('a') # wrong
我想做类似B.__init__(self, a:A) 的事情,这样B 类中的参数就是A 的对象。
【问题讨论】:
-
有很多方法,例如Rahul Goswami 在下面的回答向您展示,但总的来说,这在 Python 中被认为有点反模式:传递的参数应该没问题,只要它可以做您需要做的事情(鸭子打字),而不是匹配您之前定义的类。作为一种折衷方案,您可以使用新的type hinting 来推荐您的课程。
-
这正是我想要的
标签: python python-3.x parameter-passing