Creating Classes
# Class: blueprint for creating new Objects
# Object: instance of a class
# Class: Human
# Objects: John, Mary, Jack
# 类名定义每个单词的首字母大写
class Point:
# 每个方法至少有一个参数
def draw(self):
print("draw")
# 创建Point对象
point = Point()
print(type(point))
print(isinstance(point, int))
point.draw() #对象调用方法
控制台输出:
<class '__main__.Point'>
True
draw
Constuctor
python中的初始化就类似于java中的构造函数
定义了一个 Point
类,用于表示二维平面上的点,并有两个方法:
__init__
: 初始化方法,接受x
和y
两个参数并将其存储为实例属性。draw
: 打印点的坐标。
具体解释:
print(point.x)
打印出点的x
坐标,即1
。point.draw()
调用draw
方法,输出Point(1, 2)
。
代码成功运行并展示了点的坐标。
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def draw(self):
print(f"Point({self.x}, {self.y})")
point = Point(1, 2)
print(point.x)
point.draw()
控制台输出
1
Point(1, 2)
类和实例属性
每一个类的对象,有其自己的实例
class Point:
default_color = "red"
def __init__(self, x, y):
self.x = x
self.y = y
# 这里不必列出所有,可以后面动态创建,然后使用
def draw(self):
print(f"Point({self.x}, {self.y})")
point = Point(1, 2)
print(point.default_color)
Point.default_color = "yellow"
print(point.default_color)
point.draw()
another = Point(3, 4)
print(another.default_color)
another.draw()
控制台输出
red
yellow
Point(1, 2)
yellow
Point(3, 4)