The scenario would be:
\"you have a variable called person which contains a number of fields like name, address, etc which you want to pass to a partial piece of html\"
This complements MatToufoutu's answer.
Environment globals are always available in macros, but context variables are not. To have the context available in an imported macro, you have to use with context when importing, e.g.:
{% from "your_macros.html" import your_macro with context %}