2021年6月1日
主要学习类的知识,也就是所谓的分装,通过以下两个例题加以学习,首先是时钟的一个分装类,然后是一个点运动的分装类。
《时钟》
import time
class Clock:
def __init__(self,hour=0,minute=0,second=0):
self.hour=hour
self.minute=minute
self.second=second
def run(self):
self.second+=1
if self.second==60:
self.minute+=1
self.second=0
if self.minute==60:
self.hour+=1
self.minute=0
if self.hour==24:
self.hour=0
def show(self):
return f"{self.hour}:{self.minute}:{self.second}"
def main():
clock=Clock(23,56,58)
while True:
print(clock.show())
time.sleep(1)
clock.run()
if __name__=='__main__':
main()
写的时候要注意的是类的名字首写一定是要大写。
《点的运动》
import math
class Point:
def __init__(self,x=0,y=0):
self.x=x
self.y=y
def move_to(self,x,y):
self.x=x
self.y=y
def move_by(self,dx,dy):
self.x+=dx
self.y+=dy
def distance(self,other):
dx=self.x-other.x
dy=self.y-other.y
return math.sqrt(dx**2+dy**2)
def __str__(self):
return f"{self.x},{self.y}"
def main():
p1=Point(3,5)
p2=Point()
print(p1)
print(p2)
p2.move_by(-1,2)
print(p2)
print(p1.distance(p2))
if __name__ == '__main__':
main()
首先学习到了一个新的知识点def __str__(self): return f"{self.x},{self.y}"
有了它,可以直接进行输出打印。