如何找出 `*` 运算符对某个库 (cirq) 中的两个对象执行的操作?
How to find out what `*` operator do on two objects from some library (cirq)?
我刚开始使用 python cirq 库,我在教程中遇到了以下代码行:
XX_obs = cirq.X(q0) * cirq.X(q1)
我只想在代码中找到这个 *
运算符对这两个特定的 cirq 对象执行的操作。如何操作?
首先,你需要找到cirq.X(q0)
的类型是什么:
print(type(cirq.X(q0)))
然后在 class 中查找方法 __mul__
的定义。 class 的 __mul__
方法定义对象如何作为乘法运算的左操作符。
我刚开始使用 python cirq 库,我在教程中遇到了以下代码行:
XX_obs = cirq.X(q0) * cirq.X(q1)
我只想在代码中找到这个 *
运算符对这两个特定的 cirq 对象执行的操作。如何操作?
首先,你需要找到cirq.X(q0)
的类型是什么:
print(type(cirq.X(q0)))
然后在 class 中查找方法 __mul__
的定义。 class 的 __mul__
方法定义对象如何作为乘法运算的左操作符。