【发布时间】:2020-12-07 15:31:11
【问题描述】:
我刚开始学习 Python,并且开始接触面向对象的编程。我写了以下代码,它只是使用turtle模块绘制形状,但我仍然不太了解“self”关键字的使用:
import turtle
class Shape:
def __init__(self, sides, angle, color="white", thickness=1):
self.sides = sides
self.angle = angle
self.color = color
self.thickness = thickness
def draw(self):
for x in range(self.sides):
turtle.color(self.color)
turtle.pensize(self.thickness)
turtle.forward(100)
turtle.left(90)
if self.angle > 90:
turtle.right(self.angle - 90)
elif self.angle < 90:
turtle.left(90 - self.angle)
hexagon = Shape(6,120,"Red", 5)
hexagon.draw()
【问题讨论】:
-
你有什么困惑?你在这里多次使用它。另请注意,它不是关键字。
self可以替换为任何名称;self只是一个强大的约定。重要的是第一个参数位置。