Object-oriented calorie counter
I like your code. It is easy to understand and pretty straight-forward.

Regarding your question of the measuring units: yes, every variable should have them since you are not operating exclusively on SI units. You have calories (instead of joule) and years and minutes (instead of seconds).

I would just change some of the smaller details, from top to bottom:


The doc comment for main is wrong. That function not only initializes the program, it is the whole program, including computation and output.
Rename get_person_attributes to read_person_attributes or input_person_attributes. Functions called get_* usually don't have side-effects and are usually not complicated.
The gender prompt could be more specific: 'Your gender (male, female): '
The official spelling for kilogram is kg, not Kg. Although kilo is a large multiplier, it is the only one with a lowercase letter.
The prompt for the heart rate could include in bpm.
The Your your is a typo.
In make_person, the proper a person of proper gender sounds wrong (though I'm not a native English speaker).
You compute gender.lower() twice, which is unnecessary.
Do you prefer burned or burnt? Choose one and use it everywhere.


Having each of the complicated formulas in a single line is very good. One might be attempted to split it into several small formulae or extract the factors to a separate class CaloriesCalculatorFactors, but that would make the code harder to understand.