[英]How do I fix invalid syntax error when importing postgis in Python 2.7?
[英]How can I fix this syntax error when importing functions from another library
我收到語法錯誤SyntaxError: can't assign to function call
位於 genwave 函數的 self.rp.set 行。 我怎樣才能擺脫這個錯誤?
import time
import rp
import numpy as np
import pyrpl
class PID:
"""PID Controller"""
def __init__(self, P=0.2, I=0.0, D=0.0, current_time=None):
self.Kp = P
self.Ki = I
self.Kd = D
self.sample_time = 0.00
self.current_time = current_time if current_time is not None else time.time()
self.last_time = self.current_time
self.targetT = targetT
self.clear()
def genwave(self, out_channel, waveform, voltage, offset):
'''generates analog waveform out of the redpitaya from OUT 1'''
self.rp.analog()
self.rp.set(self, 0, voltage) = out_voltage
self.rp.funct_gen()
self.rp.set_waveform(self, 1, waveform) = wave_output
self.rp.set_amplitude(self, 1, voltage) = wave_amplitude
self.rp.set_offset(self,1, offset) = voltage_offset
錯誤在這里說明了一切:
SyntaxError: can't assign to function call
self.rp.set
被調用,然后被分配一個值out_voltage
。 調用 function 通常返回值,這與 function 的工作方式相反。
我不確定self.rp.set
實際做什么或返回什么,或者out_voltage
是什么,但看起來表達式應該在等號上翻轉,但是 function 從來沒有對out_voltage
做任何事情,所以很難說. 順便說一句,對於 genwave 中的更多genwave
調用,將發生此錯誤。
例如:
>>> int() = 0
File "<stdin>", line 1
SyntaxError: can't assign to function call
您正在為 function 分配一個值,這是不可能的,
您可以嘗試任何類似self.rp.set = out_voltage(self, 0, voltage)
但不是這個self.rp.set(self, 0, voltage) = out_voltage
您不能為 function 分配值。 你可能是想說: out_voltage = self.rp.set(self, 0, voltage)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.