Python列表类型声明
我试图在函数中设置变量类型。当我尝试使用普通变量类型时,没有问题。比如说,Python列表类型声明,python,Python,我试图在函数中设置变量类型。当我尝试使用普通变量类型时,没有问题。比如说, def myString(name:str) -> str: return "hello " + name class Point: def __init__(self, x:int, y:int): self.x:int = x self.y:int = y def isSamePoint(self, p:Point) -> b
def myString(name:str) -> str:
return "hello " + name
class Point:
def __init__(self, x:int, y:int):
self.x:int = x
self.y:int = y
def isSamePoint(self, p:Point) -> bool:
return ((self.x==p.x) and (self.y==p.y))
p0 = Point(10, 5)
p1 = Point(5, 5)
p0.isSamePoint(p1)
然而,我在列表中遇到了问题。互联网上的许多例子都说使用列表,但都有错误。现在我使用列表,没有错误。用这个可以吗
另一个我发现有人可以使用的问题
def myListString() -> list[str]:
return ["ABC", "CDE"]
我发现了错误
TypeError: 'type' object is not subscriptable
我应该如何纠正这个问题
我发现的另一个问题是我不能在myClass中声明myClass。比如说,
def myString(name:str) -> str:
return "hello " + name
class Point:
def __init__(self, x:int, y:int):
self.x:int = x
self.y:int = y
def isSamePoint(self, p:Point) -> bool:
return ((self.x==p.x) and (self.y==p.y))
p0 = Point(10, 5)
p1 = Point(5, 5)
p0.isSamePoint(p1)
我发现了错误
def isSamePoint(self, p:Point):
NameError: name 'Point' is not defined
请帮我解决这个问题
TypeError:“type”对象不可下标
Python3.9允许list[str]
。之前,您必须从输入,然后执行->List[str]
NameError:未定义名称“点”
如果要声明“self”的类型,可以将其放入字符串def isSamePoint(self,p:“Point”)->bool:
或创建一个接口
>>> class A: pass
>>> class B(A): pass
>>> b = B()
>>> isinstance(b, A)
True
因此,def-isSamePoint(self,p:A)
就可以了
此外,如果您想检查<代码> SAMEPOSTEP/COD> >,您可能需要考虑自己的代码<>代码> >代码> < /p>您使用的是什么Python版本?