一.依赖关系.
举个植物大战僵尸的例子就明白了:
写一个植物大战僵尸 1. 植物 打僵尸. 僵尸掉血 2. 僵尸 吃植物. 植物掉血
二.关联关系.
举个男女朋友的例子,就懂了:
三.一对多关系.
举个学校和老师的关系就懂了:
四,关于类的补充.
类名的补充: 类名 => 变量名,举例说明
class Foo: def chi(self,food): print("我爱吃鱼和",food) class Bar: def chi(self,food): print("我爱吃肉和",food) dic = {Foo:"烤肠",Bar:"火腿"} for k,v in dic.items(): #将字典的内容解构给前面的俩变量 k().chi(v) #此时的k就是Foo,加个(),就相当于调用.
关于self的补充:
五.关于特殊方法.
特殊方法的小集合:
1)__del__#析构方法,当对象在内存中被释放时,自动触发执行。此方法一般无须定义,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的 2)__call__#对象后面加括号,触发执行。构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() 3)1. 类名() 会自动执行__init__()
2. 对象() 会?自动执?行行__call__()
3. 对象[key] 会?自动执?行行__getitem__()
4. 对象[key] = value 会?自动执?行行__setitem__()
5. del 对象[key] 会?自动执?行行 __delitem__()
6. 对象+对象 会?自动执?行行 __add__()
7. with 对象 as 变量量 会?自动执?行行__enter__ 和__exit__
8. 打印对象的时候 会?自动执?行行 __str__
9. ?干掉可哈希 __hash__ == None 对象就不可哈希了了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。