Розрахувати метаболізм базальних калорій - Німецький форум Python

З 2002 р. Дискусії про мову програмування Python

метаболізм

Обчисліть метаболізм базальних калорій

З нетерпінням чекаю відгуків та пропозицій щодо вдосконалення, звичайно

Це не має нічого спільного з ООП. Той факт, що ви не могли придумати кращої назви для класу, ніж Object, повинен був показати вам це більш ніж наочно.

В іншому випадку Python має керівництво стилем, PEP 8, яке визначає низку домовленостей. Правопис майже всіх назв порушує це.

Якщо говорити про імена: функції та методи щось роблять. ІМТ, чоловік і жінка є іменниками і не описують жодної діяльності, ви не робите ІМТ, чоловік чи жінка. Використовуйте дієслова для функцій та методів або щось, що наближається до них, як get_bmi або get_female_bmr (базальна швидкість метаболізму).

Якщо виникають помилки, у Python створюється виняток. Вам не потрібно і не слід сигналізувати про помилки через повернені значення.

Якщо у вас є постійні рядки або числа, що мають певне значення, наприклад цілі числа в чоловічому та жіночому методах, вам слід використовувати це ім'я. Це також має сенс, якщо ви не хочете визначати це на рівні модуля.

Якщо ви використовуєте будь-які нетривіальні формули або алгоритми, вам слід пояснити їх коментарем або принаймні пояснити, як їх називають, і назвати джерело (стаття у Вікіпедії, підручник, стаття, публікація в блозі,).

У програмі «Чоловік і жінка» ви двічі викликаєте ІМТ, це вдвічі більше, ніж потрібно. Ви можете запам’ятати результат, якщо зробите для KCAL (знову ж погана назва, чи калорії в шматку пирога?) І ви могли б врятувати себе.

Вам слід видалити оператори друку, якщо ви хочете серйозно використовувати ваш код. Якщо ви хочете протестувати свій код, напишіть модульні тести. Стандартна бібліотека пропонує doctest (не найкращий, але достатній тут) та unittest (добре) для останнього. Якщо ви хочете піти трохи глибше, вам слід поглянути на pytest.