python – Desenhar coisas no pygame

Estou lendo um livro de python teve um codigo que não conseguir entender:
minha duvida

Duvidas:

1.O que é esse get_rect() ?

2.Como funciona essa coisa de tratar coisas como retangulo ?

3.O que é self.screen_rect = screen.get_rect() ?

4.Que é self.rect.centerx = self.screen_rect_centerx ,self.rect.bottom = self.screen_rect.bottom ?

me tirem essas duvidas pfv.

import pygame

class nave():
    
    def __init__(self,screen):

        self.tela = tela
        
        self.image = pygame.image.load('images/ship.bmp')
        self.rect = self.image.get_rect()
        
        self.screen_rect = screen.get_rect()

        self.rect.centerx = self.screen_rect_centerx
        self.rect.bottom = self.screen_rect.bottom

    def blitme(self):
        self.screen.blit(self.image,self.rect)