SIM900/SIM800 are 2G only modems, make sure your provider supports 2G as it is already being phased out in a lot of areas around the world, else a 3G/4G modem like the SIM7100 / SIM5300 is warranted.
We will start by disabling serial console to enable communication between the pi and sim800l via serial0 .
Open the terminal on your pi and run sudo raspi-config
Select Interfaces → Serial
Select No to the 1st prompt and Yes for the 2nd.
from sim800l import SIM800L
sim800l=SIM800L('/dev/serial0')
sms="Hello there"
#sim800l.send_sms(dest.no,sms)
sim800l.send_sms('2547xxxxxxxx',sms)
#sim800l.read_sms(id)
sim800l.read_sms(id)
def print_delete():
#assuming the sim has no sms initially
sms=sim800l.read_sms(1)
print(sms)
sim800l.delete_sms(1)
sim800l.callback_msg(print_delete)
while True:
sim800l.check_incoming()