Battleship game vs Computer. Any feedback is appreciated!

Hello, for the CS101 final project I tried creating a simple game of battleship where you can play against the computer. However, I felt that my code has many inefficiencies and I am hoping for some feedback to improve my coding. I tried using object orientated programming to make it more simple but I felt that I used it quite messily and hope to improve on this. Thanks for reading! Try out the game and let me know what you think.
Here is a link to the code: Google Colab