class People(): name = "人" def __init__(self, n="非洲人"): self.name = n print("我是构造函数", self.name) def __del__(self): print("我是析构函数", self.name) zhangsan = People() lisi = People("欧美人") zhangsan.__del__() print(zhangsan) del zhangsan的全部输出
时间: 2023-05-11 10:02:06 浏览: 49
我看到你提供了一个 Python 的类定义和一些实例化代码,这是一个编程类的问题,我可以回答。下面是代码的输出:
我是构造函数 非洲人
我是构造函数 欧美人
我是析构函数 非洲人
<__main__.People object at 0x7f8c8c4d5b50>
首先,我们定义了一个名为 People 的类,它有一个类变量 name 和两个方法 __init__() 和 __del__()。__init__() 方法是构造函数,当我们创建一个新的 People 实例时,它会被调用。__del__() 方法是析构函数,当我们删除一个 People 实例时,它会被调用。
接下来,我们创建了两个 People 实例,一个是默认的非洲人,另一个是欧美人。在创建这些实例时,__init__() 方法被调用,输出了相应的构造函数信息。
然后,我们调用了 zhangsan.__del__() 方法,这会触发析构函数的调用,输出了非洲人的析构函数信息。
最后,我们尝试打印 zhangsan 实例,但是它已经被删除了,所以输出了一个对象的内存地址。
相关问题
class People: def __init__(self,name): self.name = name def work(self): print(self.name,'在工作') class Teacher(People): def __init__(self,name,salary,tel): super().__init__(name,salary,tel) self.salary = salary self.tel = tel def work(self): super().work() print(self.name,'在授课') def play(self,sport): print(self.name,'在',sport) if __name__== '__main__': t = Teacher('张三丰','男','15566668888') t.work() t.play('打篮球')
这是一个简单的 Python 类继承的例子,其中定义了一个 People 类和一个继承自 People 类的 Teacher 类。People 类有一个初始化方法 __init__(),用于初始化人的名字 name,而 Teacher 类在继承 People 类的基础上,增加了薪水 salary 和电话号码 tel 两个属性,并重写了 work() 方法和新增了 play() 方法。在主函数中,创建了一个 Teacher 的实例 t,并调用了它的 work() 和 play() 方法。其中,work() 方法被重写,覆盖了 People 类中的同名方法,同时也调用了父类的 work() 方法。play() 方法则是 Teacher 类新增的方法,用于打印老师正在进行的运动。
class People: def __init__(self, name, city): self.name = name self.city = city def __str__(self): return "{}: {}".format(self.name, self.city) def moveto(self, newcity): self.city = newcity p1 = People("Tom", "New York") p2 = People("Jerry", "Paris") p3 = People("Alice", "London") p4 = People("Bob", "Beijing") people_list = [p1, p2, p3, p4] people_list.sort(key=lambda x: x.city) for p in people_list: print(p) 解释一下此代码
这段代码定义了一个名为People的类,表示一个人,每个人有一个名字和所在城市。类中有一个__str__方法,返回一个字符串,描述这个人的名字和所在城市。还有一个moveto方法,可以将这个人的所在城市改为新的城市。
在主程序中,创建了四个People对象,并将它们放入一个列表中。使用sort函数,按照每个人所在城市的字母顺序对人进行排序。然后遍历人的列表,打印每个人的描述字符串,这些字符串按照城市字母顺序排列。