def __init__(self,name,weight): self.name = name self.weight = weight解释
时间: 2024-05-13 10:16:51 浏览: 102
这是一个 Python 类的构造函数,用于创建一个新的对象。在这个类中,有两个属性:name 和 weight。这个构造函数有两个参数,分别是 name 和 weight,它们会被用来初始化对象的属性。其中,self 是一个特殊的参数,表示对象本身。在构造函数中,使用 self.name 和 self.weight 来表示对象的属性,以便在创建对象时进行初始化。例如,如果我们要创建一个名为 cat,体重为 5kg 的对象,可以这样写:
```
cat = Animal("cat", 5)
```
其中,Animal 是这个类的名称,cat 和 5 分别是构造函数的参数,用于初始化对象的属性 name 和 weight。
相关问题
class arcnode: def __init__(self, adjvex, weight, link=None): self.adjvex = adjvex self.weight = weight self.link = link class vexnode: def __init__(self, data, first_arc=None): self.data = data self.first_arc = first_arc class Graph: def __init__(self): self.vex_list = [] self.vex_num = 0 self.edge_num = 0 # 请在这里填写答案 def addVertex(self, vex_val): new_vertex = vexnode(vex_val) self.vex_list.append(new_vertex) self.vex_num += 1 def addEdge(self, f, t, cost=0): def print_graph(self): for i in range(self.vex_num): print(self.vex_list[i].data, end="->") cur = self.vex_list[i].first_arc while cur: print("adj:{},weight:{}".format(cur.adjvex, cur.weight), end="->") cur = cur.link print('None') if __name__ == "__main__": g = Graph() s = input() for vertex in s: g.addVertex(vertex) g.addEdge(0, 1, 11) g.addEdge(0, 2, 55) g.addEdge(2, 3, 88) g.addEdge(0, 3, 33) g.addEdge(1, 2, 44) g.print_graph()
这段代码实现了一个图的数据结构,其中包含了三个类:arcnode、vexnode和Graph。arcnode类表示图中的边,vexnode类表示图中的顶点,Graph类则通过vex_list列表来存储所有的顶点,通过edge_num来存储边的数量,通过addVertex方法来添加新的顶点,通过addEdge方法来添加新的边,通过print_graph方法来打印整个图的信息。
在程序的主函数中,首先通过输入获取了顶点的值,然后调用addVertex方法逐一将其添加到图中,再通过addEdge方法逐一添加边的信息,最后通过print_graph方法打印整个图的信息。
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
阅读全文