【发布时间】:2020-08-13 17:14:17
【问题描述】:
我在 python 类中使用 pybullet。我将其导入为import pybullet as p。
当我有几个使用 pybullet 的类实例时,每个实例的类 p 是相同的,还是每个实例的“变量”p 是唯一的?
foo.py
import pybullet as p
class Foo:
def __init__(self, counter):
physicsClient = p.connect(p.DIRECT)
def setGravity(self):
p.setGravity(0, 0, -9.81)
(more code)
和 main.py
from foo import Foo
foo1 = Foo(1)
foo2 = Foo(2)
foo1.setGravity()
setGravity() 会影响 foo1 和 foo2 中的 p 还是只影响 foo1?
【问题讨论】:
-
p不是传统意义上的变量;它是一个模块,因此对于每个Foo实例都是相同的。 -
当您尝试您所描述的内容时,您观察到了什么行为?
-
“影响 foo1 和 foo2 中的 p 还是仅影响 foo1”是什么意思? ?你的意思是如果你在 foo1 上调用 setGravity() 会影响 foo2 的重力吗?
-
顺便说一句:在“setGravity”方法中,你忘记写
self像这样:def setGravity(self) -
@yAzou 是的,如果我在一个 foo[x] 中调用它会影响每个 foo[_] @afghanimah 的重力有没有办法让它特定于一个实例?
标签: python python-3.7 bullet python-class