補充
1.raise錯誤類型
自定義錯誤類型:寫一個類繼承Exception,重寫str方法定義錯誤提示語
class MyError(Exception):
def __str__(self):
return '需要一個偶數,但是給了奇數'
number=int(input('請輸入一個偶數'))
if number&1:
raise MyError
2.多繼承
一般在需要繼承多個類的功能的時候用
多繼承時,只能繼承第一個父類的對象屬性
3.把對象寫入json和把字典列表轉化為對象列表
4.把字典添加到類的json文件中
抽象類和抽象方法
抽象類:只能被繼承不能實例化(不能創建對象)
抽象方法:聲明的時候不用實現,在子類中必須去重寫的方法
import abc
聲明抽象類:
類繼承abc模塊中的ABCMeta,繼承的時候需要加參數metaclass,并通過abstractmethod來聲明抽象方法
子類繼承抽象類后,必須在子類中實現抽象類中所有的抽象方法
metaclass-->元類
import abc
class Shape(metaclass=abc.ABCMeta):#聲明抽象類
@abc.abstractmethod#聲明抽象方法
def draw(self):
pass
抽象類不能實例化
pygame顯示
常見模塊及功能
display
event
draw
image
font
1.圖片顯示:
a.加載圖片image.load
load(圖片地址)-->返回圖片對象
b.渲染圖片screen.blit
blit(渲染對象,渲染位置)
渲染位置-->元祖,(x坐標,y坐標),原點在左上角
c.展示內容display.flip
fill(顏色)-->填充顏色,計算機三原色rgb顏色
2.文字顯示
a.創建字體對象
SysFont(字體名,字體大小,是否加粗-False,是否傾斜=False)
Font(字體文件路徑,字體大小)-->自定義字體
b.根據字體創建文字對象
字體對象.render(文字,是否抗鋸齒,顏色)
c.渲染文字blit
d.展示filp
3.圖形顯示
a.畫線 draw.line
def line(surface,color,start_pos,end_pos,width=1)
def lines(Surface, color, closed, pointlist, width=1):
surface:窗口,圖片,文字對象
closed:是否閉合
pointlist:多點坐標值
b.畫圓
def circle(Surface, color, pos, radius, width=0)
pos為圓心
4.pygame事件(event.type)
鼠標事件:
pygame.MOUSEBUTTONDOWN按下
MOUSEBUTTONUP彈起
MOUSEMOTION移動
鍵盤事件