I am a Python noob.
I create a class as follows:
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
Now contrary to C++ or Java, I do not bind the data type to y while writing the class definition. It is only because the constructor code is such that it shows that y is of type t1.
Can we bind a data type while declaring y?
No. Variables in Python do not have types –
ydoes not have a type. At any moment in time,yrefers to an object, and that object has a type. This:binds
yto an object of typestr. You can change it later to refer to an object of a different type.yitself has no intrinsic type.See Fredrik Lundh’s excellent “Reset your brain” article for further explanation.
(By the way, this:
self.y = t1.__init__(x)is a rather strange piece of code. Did you mean to sayself.y = t1(x)?)