Python 通过字典了解一个人的功能和属性

Python 通过字典了解一个人的功能和属性,python,function,dictionary,Python,Function,Dictionary,我真的很难理解函数以及如何使用它们来创建属性或属性(在本例中,我的任务是与一个人一起完成) 下面是我在字典中声明此人的代码 def format(person): return "Name:\t" + person['name'] def display(person): print(format(person)) person = {'name':"Bilbo Baggins"} 然后我可以调用显示器进行生产 Name=Bilbo Baggins 然后,我必须在字典中添加

我真的很难理解函数以及如何使用它们来创建属性或属性(在本例中,我的任务是与一个人一起完成)

下面是我在字典中声明此人的代码

def format(person):
    return "Name:\t" + person['name']

def display(person):
    print(format(person))

person = {'name':"Bilbo Baggins"}
然后我可以调用显示器进行生产

Name=Bilbo Baggins

然后,我必须在字典中添加一个属性来存储我的人的体重和身高(比如现在两者都是0),我已经这样做了

person['height'] = 0
person['weight'] = 0
我现在需要创建一个具有3个参数(名称、身高和体重)的函数(称为create_person),并修改我以前的代码以使用此函数,同时打印名称:Bilbo Baggins还打印体重(以千克为单位)和身高(以米为单位)

总体目标是找出一个人的BMI,BMI是按体重/身高计算的2。我还需要添加一个函数,该函数将上一个字典/函数中的单个person对象作为参数,并返回person的BMI。通过将两者联系起来,这是可能的吗

class Person:
    def __init__(self, name, height, weight):
        self.name = name
        self.height = height
        self.weight = weight
    # This is called when you print(PERSON OBJECT)
    def __repr__(self):
        return self.name + " " + self.height + " " + self.weight
    def BMI(self):
        return (self.weight/self.height)/self.height
这允许您创建这样一个人:

person_one = Person("Bilbo", 177, 72.7)
print(person_one)
bmi = person_one.BMI()
这允许您创建这样一个人:

person_one = Person("Bilbo", 177, 72.7)
print(person_one)
bmi = person_one.BMI()

您是否考虑过创建一个person类,将这些函数作为类方法?然后,您可以让每个person对象都有身高和体重属性,然后使用这些属性来计算BMI。在创建函数之前,请不要使用已内置函数的名称,如
format()
@chris,然后可以链接到我最初创建的字典吗?还有,类方法函数的工作方式是否与普通函数相同?@zwer我的错,我是新来的,这是我一直忘记的一件事,干杯up@maltedg链接到原始词典是什么意思?您是否考虑过创建一个person类,将这些函数作为类方法?然后,您可以让每个person对象都有身高和体重属性,然后使用这些属性来计算BMI。在创建函数之前,请不要使用已内置函数的名称,如
format()
@chris,然后可以链接到我最初创建的字典吗?还有,类方法函数的工作方式是否与普通函数相同?@zwer我的错,我是新来的,这是我一直忘记的一件事,干杯up@maltedg链接到原始词典是什么意思?