Python Turtle 的 Pylint 错误,即使代码执行正确
Pylint Error with Python Turtle even though code executes properly
import turtle
class Polygon:
def __init__(self,sides,name,size=100,color='black',line_thickness=3):
self.sides=sides
self.name=name
self.size=size
self.color=color
self.line_thickness=line_thickness
self.interior_angles=(self.sides-2)*180
self.angle=self.interior_angles/self.sides
def draw(self):
turtle.color(self.color)
turtle.pensize(self.line_thickness)
for i in range(self.sides):
turtle.forward(self.size)
turtle.right(180-self.angle)
turtle.done()
square=Polygon(4,'Square')
square.draw()
考虑到上面的代码,在 VSCODE 中运行,我想知道如何消除所有继续弹出的 'pylint' 错误,这些错误提示类似于以下内容:
Module 'turtle' has no 'color' member (pylint no-member)
虽然代码执行得很好,但继续查看错误行令人不安,我想知道是否有解决方案。谢谢你的时间!
与其抑制错误消息,不如修复代码? Turtle 提出了两个 API,一个 functional 和一个 object-oriented。函数式是在 load 时从面向对象的 derived。分析工具无法查看源库文件内部并查看功能签名。
既然您要定义自己的 Polygon
对象,我不明白您为什么不使用 turtle 的面向对象接口。我在下面使用的 import
阻止了功能接口,只允许访问面向对象的接口:
from turtle import Screen, Turtle
class Polygon:
def __init__(self, sides, name, size=100, color='black', line_thickness=3):
self.sides = sides
self.name = name
self.size = size
self.color = color
self.line_thickness = line_thickness
self.interior_angles = (self.sides - 2) * 180
self.angle = self.interior_angles / self.sides
def draw(self):
turtle.color(self.color)
turtle.pensize(self.line_thickness)
for _ in range(self.sides):
turtle.forward(self.size)
turtle.right(180 - self.angle)
screen = Screen()
turtle = Turtle()
square = Polygon(4, 'Square')
square.draw()
screen.exitonclick()
请注意代码的细微变化以适应面向对象 API。现在尝试分析代码,看看这是否解决了您的问题。
import turtle
class Polygon:
def __init__(self,sides,name,size=100,color='black',line_thickness=3):
self.sides=sides
self.name=name
self.size=size
self.color=color
self.line_thickness=line_thickness
self.interior_angles=(self.sides-2)*180
self.angle=self.interior_angles/self.sides
def draw(self):
turtle.color(self.color)
turtle.pensize(self.line_thickness)
for i in range(self.sides):
turtle.forward(self.size)
turtle.right(180-self.angle)
turtle.done()
square=Polygon(4,'Square')
square.draw()
考虑到上面的代码,在 VSCODE 中运行,我想知道如何消除所有继续弹出的 'pylint' 错误,这些错误提示类似于以下内容:
Module 'turtle' has no 'color' member (pylint no-member)
虽然代码执行得很好,但继续查看错误行令人不安,我想知道是否有解决方案。谢谢你的时间!
与其抑制错误消息,不如修复代码? Turtle 提出了两个 API,一个 functional 和一个 object-oriented。函数式是在 load 时从面向对象的 derived。分析工具无法查看源库文件内部并查看功能签名。
既然您要定义自己的 Polygon
对象,我不明白您为什么不使用 turtle 的面向对象接口。我在下面使用的 import
阻止了功能接口,只允许访问面向对象的接口:
from turtle import Screen, Turtle
class Polygon:
def __init__(self, sides, name, size=100, color='black', line_thickness=3):
self.sides = sides
self.name = name
self.size = size
self.color = color
self.line_thickness = line_thickness
self.interior_angles = (self.sides - 2) * 180
self.angle = self.interior_angles / self.sides
def draw(self):
turtle.color(self.color)
turtle.pensize(self.line_thickness)
for _ in range(self.sides):
turtle.forward(self.size)
turtle.right(180 - self.angle)
screen = Screen()
turtle = Turtle()
square = Polygon(4, 'Square')
square.draw()
screen.exitonclick()
请注意代码的细微变化以适应面向对象 API。现在尝试分析代码,看看这是否解决了您的问题。