What is the difference between 'is' and '=='?

Hey, I was testing this example code I wrote in VSCode:

test = 18

# Check for '=='
if test == 18:
    print('== works!')

# Check for 'is'
if test is 18:
    print('is works!')

The problem is that both the outputs were being displayed, and they seem to be no different in my eyes now. Can anyone clarify the difference between these two? Maybe provide any other sample code which explains the difference between them clearly.