The reason why your prime() function is not 'updating' to False is because there is no return statement in the function.
With it, the function looks like this:
def prime():
  checker = True
  for i in range(2,num):
      if num % i == 0:
          print(f"{num} can be divisible by {i}.")
          checker = False
  return checker
And the updated code looks like this:
from sys import argv
def prime():
  checker = True
  for i in range(2,num):
      if num % i == 0:
          print(f"{num} can be divisible by {i}.")
          checker = False
  return checker
num = int(input("Enter the number you want to check is prime: "))
if num < 2:
    print(f"{num} is a prime number.")
elif num == 0:
    print(f"{num} is not a prime number.")
elif num > 0:
    is_prime = prime()
    print(f"Is this number a prime - {is_prime}.")
else:
    print(f"Please write number larger than 0.")
However, this isn't the only way to solve your problem: it's not recommended and frowned upon by many programmers as bad practice - use the global statement (which looks like that's what you were trying to do originally).
With it, the function looks like this:
def prime():
  global checker
  for i in range(2,num):
      if num % i == 0:
          print(f"{num} can be divisible by {i}.")
          checker = False
And the updated code looks like this:
from sys import argv
def prime():
  global checker
  for i in range(2,num):
      if num % i == 0:
          print(f"{num} can be divisible by {i}.")
          checker = False
num = int(input("Enter the number you want to check is prime: "))
checker = True
if num < 2:
    print(f"{num} is a prime number.")
elif num == 0:
    print(f"{num} is not a prime number.")
elif num > 0:
    prime()
    print(f"Is this number a prime - {checker}.")
else:
    print(f"Please write number larger than 0.")