我知道如何在python中创建一个新变量
obj = MyClass()
但这实际上会定义一个名为obj
的新变量,而不只是声明MyClass
的变量。
在Java中,我们使用MyClass obj;
声明它并定义MyClass obj = new MyClass();
我们可以在Python中实现相同的目标吗?
答案 0 :(得分:2)
Python中没有“声明对象”这样的东西。如果您想在作用域中创建名称,则必须将绑定到对象(现有对象或新对象)。
somename = someobj
答案 1 :(得分:1)
Python基于强大的动态鸭子打字。因此,变量没有类型,也不需要预先定义。
如果您想预先定义变量,可以执行以下操作:
my_string_var = None
答案 2 :(得分:1)
Python没有显式的变量声明。变量只是通过赋值来创建的,当它们超出范围时会自动销毁它们。
只需:
obj = SomeObject()
在定义课程时:
旧式:
class MyClass:
pass
新风格:
class MyClass(object):
pass
答案 3 :(得分:0)
Python没有C ++或Java等语言中的变量。它只有名称。名称是对现有对象的引用。
与变量不同,它不包含类型信息或类似信息;所有这些信息都存储在实际对象上。没有要引用的对象的名称不会保留任何信息。因此,宣布只是一个名字是没有意义的;随后,你不能这样做。
经常需要的东西实际上是一个名称,指明显式未初始化的信息;例如,可能必须从外部源获取对象。在这种情况下,您应该使用显式的标记值 - 通常,None
是合适的。
the_boss = None
for person in sorted(people, key=random.random()):
if the_boss = None:
the_boss = person
else:
person.set_boss(the_boss)