Почему бы не исправить код вместо того, чтобы подавлять сообщение об ошибке? Turtle представляет два API: функциональный один и объектно-ориентированный . Функциональный является производным от объектно-ориентированного при загрузке времени. Инструменты анализа не могут заглянуть внутрь файла исходной библиотеки и увидеть функциональные сигнатуры.
Поскольку вы определяете свой собственный Polygon
объект , я не понимаю, почему вы не использовать объектно-ориентированный интерфейс для черепахи. 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. Теперь попробуйте проанализировать код, чтобы увидеть, решит ли это вашу проблему.