These are both valid examples of Python syntax and effectively doing the same thing in a slightly different way.

import microbit imports the entire module and from microbit import * is importing all the classes, functions and variables from that module, so it's just down to user preference.

Here is some more information from stack overflow:

import microbit

  • Pros:
    • Less maintenance of your import statements. Don't need to add any additional imports to start using another item from the module
    • You can clearly see where the function display comes from
  • Cons:
    • Typing microbit.display every time in your code can be tedious and redundant

from microbit import display

  • Pros:
    • Less typing to use display
    • More control over which items of a module can be accessed
  • Cons:
    • To use a new item from the module you have to update your import statement
    • It's harder to tell where display was coming from

from microbit import *

  • Pros:
    • Less typing to use display or any other function from within microbit.
    • No need to keep updating the import line to use other items from the microbit module.
  • Cons:
    • Unclear what you are importing and how many things you are importing
    • You completely lose context about where display was coming from

Using import * is useful for beginners and practice, but as your code becomes more complex you may want to look at the previous two import methods. This is because it is difficult to determine what items used in the code are coming from 'microbit'.