在()中包装类型的确切内容是什么,我何时应该使用它?例如。 import pygame
pygame.init()
white = (255,255,255)
black = (0,0,0)
red = (255,0,0)
gameDisplay = pygame.display.set_mode((800,600))
pygame.display.set_caption('Slither')
gameExit = False
lead_x = 300
lead_y = 300
lead_x_change = 0
lead_y_change = 0
clock = pygame.time.Clock()
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
lead_x_change = -10
lead_y_change = 0
elif event.key == pygame.K_RIGHT:
lead_x_change = 10
lead_y_change = 0
elif event.key == pygame.K_UP:
lead_y_change = -10
lead_x_change = 0
elif event.key == pygame.K_DOWN:
lead_y_change = 10
lead_x_change = 0
if event.type == pygame.MOUSEMOTION:
lead_y_change = 0
lead_x_change = 0
print(event)
lead_x += lead_x_change
lead_y += lead_y_change
gameDisplay.fill(white)
gameDisplay.fill(black, rect=[lead_x,lead_y,10,10])
gameDisplay.fill(red, rect=[200,200,10,10])
pygame.display.update()
clock.tick(15)
pygame.quit()
quit()
答案 0 :(得分:4)
它是type assertion。类型断言用于将接口类型中的值提取为其他类型。
表达式blah.(*int)
断言blah
中的值类型为*int
。如果断言成立,则表达式的值是blah
中存储为*int
的值。如果断言不成立,则表达式出现恐慌。
可以在赋值中使用特殊形式的类型断言来测试断言:
ip, ok := blah.(*int)
如果blah中的值为*int
,则该值存储在ip
中,ok
设置为true。否则,ip
设置为零值,ok
为false。