class BMI: def person(self, name, height, weight): self.name = name self.height = height self.weight = weight def printBMI(self): bmi = self.weight/(self.height**2)代码错在哪儿
时间: 2024-01-10 20:04:31 浏览: 107
对Python中class和instance以及self的用法详解
这段代码没有明确指定实例化对象,应该在类的外部先实例化对象,然后通过实例化对象来调用类的方法。可以按照以下方式修改代码:
```
class BMI:
def __init__(self, name, height, weight):
self.name = name
self.height = height
self.weight = weight
def printBMI(self):
bmi = self.weight / (self.height ** 2)
print("BMI of", self.name, "is", bmi)
person = BMI("John", 1.75, 70)
person.printBMI()
```
在实例化时通过 `__init__` 方法传入参数,然后在 `printBMI` 方法中计算 BMI 并输出。最后在类的外部先实例化对象 `person`,然后通过 `person.printBMI()` 调用类的方法。
阅读全文