刚开始使用python(来自.Net)。我试图弄清楚如何声明一个返回对象列表的函数:
class myObj:
def __init__(self):
self.myValue1: int=1
self.myValue2: float=2.1
class myOwner:
def __init__(self):
self.myListofObj: myObj=[]
def getMyListOfObj(self): # <== Here
return self.myListOfObj
在getMyListOfObj()
声明中,我如何提示IDE(Pycharm)此方法将返回array
myObj
而不是myObj object
?例如,如果我这样做:
xx = [在newOwner.getListOfObj()中的一个
Pycharm会认为它正在返回array
,而不是def getMyListOfObj(self) -> []:
。我知道:
array of myObj
但这并不表示它是array
,只是self.myListofObj: myObj=[]
。
array
的行上,这是声明myObj
@POST("login")
Call<LoginResponse> Login(@Query("email") String email,
@Query("password") String password);
的正确方法吗?答案 0 :(得分:0)
Python中的变量是无类型名称。您可以通过使用赋值初始化变量来创建变量。当我运行你的代码时,我得到了这个。
$ python test.py
File "test.py", line 3
self.myValue1: int=1
^
SyntaxError: invalid syntax
$
我不清楚你要做什么。也许这就是。
class myObj:
def __init__(self, x = 0, y = 0):
self.myValue1 = x
self.myValue2 = y
class myOwner:
def __init__(self):
self.myListofObj = []
def getMyListOfObj(self):
return self.myListOfObj
答案 1 :(得分:0)
self.myListOfObj
是myObj
。以下列方式标记:self.myListOfObj: typing.List[myObj] = []