今日作业:
1.定义一个类(不限定定义哪个类):
要求: a.需要有一个类变量
b.需要有>=2个的对象变量
c.定义一个方法:打印类变量和对象变量
d.使用print打印对象->输出为This is a object
e.实例化两个对象:且两个对象相加等于2
f.为对象添加一个临时变量temp_var
class Person: type="person class" def __init__(self,name,age): self.name=name self.age=age self.type="Obejict" def __add__(self, other): return 2 def print_info(self): print(self.name,self.age) def __truediv__(self, other): return 22 def __le__(self,other): return "this is object" if self.age <=other.age: return True def __str__(self): return "this is a" def __eq__(self, other): return True zhangsan=Person("zhnagsan","20") zhangsan.print_info() lisi=Person("lisi","30") print(zhangsan+lisi) print(zhangsan / lisi) print(zhangsan <= lisi) print(zhangsan.type) print(lisi.type) zhangsan.typ="this is temp int" print(zhangsan.typ) print(lisi.type) print(zhangsan)
class A: def print_info(self): print("this is a") pass class B: def print_info(self): print("this is b") def say_someting(self): print("b sying something") pass class C: def say_someting(self): print("c sying something") pass class D: def print_info(self): print("this is D") pass def say_someting(self): print("d sying something") class E(A,B,C,D): def print_info(self): super(C, self).print_info() pass print(E.__mro__) obj=E() obj.print_info() obj.say_someting()
2.super的使用:
定义一个类A, 里面又一个方法print_info
定义一个类B, 里边有一个方法print_info和一个方法say_something
定义一个类C, 里边有一个方法say_something
定义一个类D, 里边有一个方法print_info和一个方法say_something
定义一个类E,继承类A, 类B, 类C,类D
实例化类E的对象
执行print_info和say_something方法
利用super,让执行print_info时调用B中print_info
利用super, 让执行say_something时调用C中say_something
利用super, 让执行print_info和say_something时调用
D中print_info和say_something