def init(self,name,weight): self.name = name self.weight = weight解释一下
时间: 2024-03-11 15:19:24 浏览: 226
这段代码是一个 Python 类的构造函数(__init__ 方法),用于初始化对象的属性。其中,self 表示类实例本身,name 和 weight 是该实例的两个属性。
更具体地说,当我们创建一个类的实例时,我们需要传递两个参数:name 和 weight。这两个参数会被传递给构造函数,并分别用于初始化实例的 name 和 weight 属性。这样,每个实例都会有自己独立的 name 和 weight 属性。例如:
```
person1 = Person("Alice", 60)
person2 = Person("Bob", 70)
print(person1.name, person1.weight) # 输出 "Alice 60"
print(person2.name, person2.weight) # 输出 "Bob 70"
```
上述代码创建了两个 Person 类的实例,分别初始化了它们的 name 和 weight 属性,并打印了它们的值。
相关问题
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)代码错在哪儿
这段代码没有明确指定实例化对象,应该在类的外部先实例化对象,然后通过实例化对象来调用类的方法。可以按照以下方式修改代码:
```
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()` 调用类的方法。
class Person(object): def __init__(self, name, age): self.name = name self.age = age self.weight = 'weight' def talk(self): print("person is talking....") class Chinese(Person): def __init__(self, name, age, language): Person.__init__(self, name, age) self.language = language print(self.name, self.age, self.weight, self.language) def talk(self): # 子类 重构方法 print('%s is speaking chinese' % self.name) def walk(self): print('is walking...') c = Chinese('bigberg', 22, 'Chinese') c.talk() # 输出 bigberg 22 weight Chinese bigberg is speaking Chinese
这段代码定义了两个类:Person 和 Chinese。Person 类有一个初始化方法,初始化实例的名字、年龄和体重属性,并且有一个 talk() 方法,打印出 "person is talking...."。Chinese 类继承自 Person 类,有一个初始化方法,初始化实例的名字、年龄、语言属性,并且在初始化方法中调用了父类的初始化方法,输出实例的名字、年龄、体重和语言。Chinese 类也有一个 talk() 方法,重构了父类的 talk() 方法,打印出实例的名字和 "is speaking chinese"。Chinese 类还有一个 walk() 方法,打印出 "is walking..."。最后,创建了一个名为 c 的 Chinese 类的实例,调用了它的 talk() 方法,输出了实例的名字和 "is speaking Chinese"。
运行结果如下:
bigberg 22 weight Chinese
bigberg is speaking Chinese
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)