我是 Python 菜鸟。
我创建了一个类如下:
class t1:
x = ''
def __init__(self, x):
self.x = x
class t2:
y = ''
z = ''
def __init__(self, x, y, z):
self.y = t1.__init__(x)
self.z = z
现在与 C++ 或 Java 不同,我在编写类定义时不将数据类型绑定(bind)到 y。只是因为构造函数代码表明 y 是 t1 类型。 我们可以在声明 y 的同时绑定(bind)数据类型吗?
最佳答案
没有。 Python 中的变量没有类型——y
没有类型。在任何时候,y
都指向一个对象,并且该对象有一个类型。这:
y = ''
将 y
绑定(bind)到 str
类型的对象。您可以稍后更改它以引用不同类型的对象。 y
本身没有内在类型。
参见 Fredrik Lundh's excellent "Reset your brain" article进一步解释。
(顺便说一下,这:self.y = t1.__init__(x)
是一段相当奇怪的代码。你是不是想说 self.y = t1(x )
?)
关于python 将一个类型绑定(bind)到一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2636491/