4.如何在类外,给对象动态添加绑定方法

  1. import types
  2. def qingtianzhu(obj,name):
  3. print("请我叫我一柱擎天,简称{},颜色是{}".format(name,obj.color))
  4. obj.qingtianzhu = types.MethodType(qingtianzhu,obj)
  5. obj.qingtianzhu("擎天柱")

8.菱形继承中,如何查看多继承调用顺序关系

  1. '''mro列表'''

12.写一个能体现多态的案例

  1. class Soldier():
  2. def attack(self):
  3. pass
  4.  
  5. def back(self):
  6. pass
  7.  
  8. # 陆军
  9. class Army(Soldier):
  10. def attack(self):
  11. print("[陆军]搏击,ufc,无限制格斗,太极,八卦,占星,制作八卦符")
  12.  
  13. def back(self):
  14. print("[陆军]白天晨跑10公里,也行800百公里")
  15.  
  16. # 海军
  17. class Navy(Soldier):
  18. def attack(self):
  19. print("[海军]潜泳水下30个小时,手捧鱼雷,亲自送到敌人的老挝,炸掉敌人的碉堡")
  20.  
  21. def back(self):
  22. print("[海军]每小时在海底夜行800公里,游的比鲨鱼还快")
  23.  
  24. # 空军
  25. class AirForce(Soldier):
  26. def attack(self):
  27. print("[空军]空中夺导弹,手撕飞机,在空中打飞机,精准弹幕")
  28.  
  29. def back(self):
  30. print("[空军]高中跳伞,落地成盒")
  31.  
  32. army_obj = Army()
  33. navy_obj = Navy()
  34. af_obj = AirForce()
  35.  
  36. lst = [army_obj,navy_obj,af_obj] # 对象列表
  37. strvar = """
  38. 1.所有兵种开始攻击训练
  39. 2.所有兵种开始撤退训练
  40. 3.空军练习攻击,其他兵种练习撤退
  41. """
  42. print(strvar)
  43. num = input("将军请下令,选择训练的种类")
  44. for i in lst:
  45. if num == "":
  46. i.attack()
  47. elif num == "":
  48. i.back()
  49. elif num == "":
  50. if isinstance(i,AirForce):
  51. i.attack()
  52. else:
  53. i.back()
  54. else:
  55. print("将军~ 风太大 我听不见~")
  56. break

19.模拟int强转整型操作,实现相应方法

  1. import math
  2. class MyInt():
  3.  
  4. def calc(self,num,sign=1):
  5.  
  6. strvar = num.lstrip("")
  7. if strvar == "":
  8. return 0
  9. return eval(strvar) * sign
  10.  
  11. def __call__(self,num):
  12. if isinstance(num , bool):
  13. if num == True:
  14. return 1
  15. elif num == False:
  16. return 0
  17.  
  18. elif isinstance(num,int):
  19. return num
  20.  
  21. elif isinstance(num,float):
  22. # 方法二
  23. """
  24. if num >= 0:
  25. return math.floor(num)
  26. else:
  27. return math.ceil(num)
  28. """
  29. return math.floor(num) if num >= 0 else math.ceil(num)
  30.  
  31. elif isinstance(num,str):
  32. if (num[0] == "+" or num[0]== "-") and num[1:].isdecimal():
  33. if num[0] == "+":
  34. sign = 1
  35. else:
  36. sign = -1
  37.  
  38. return self.calc(num[1:],sign)
  39.  
  40. elif num.isdecimal():
  41. return self.calc(num)
  42. else:
  43. return "老铁,这个真转不了"
  44.  
  45. myint = MyInt()
  46.  
  47. res = myint(True)
  48. print(res)
  49. res = myint(100)
  50. print(res)
  51. res = myint(3333.14)
  52. print(res, type(res))

20.计算类中自定义成员个数

  1. class MyClass():
  2. pty1 = 1
  3. pty2 = 2
  4. __pty3 = 3
  5. pyt3 =10
  6. pty100 = 90
  7.  
  8. def func1():
  9. pass
  10.  
  11. def __func2():
  12. pass
  13.  
  14. def __func3():
  15. pass
  16.  
  17. def __len__(self):
  18. lst = []
  19.  
  20. dic = MyClass.__dict__ # 遍历类中所有成员
  21. for i in dic: # 遍历类中所有成员
  22. if not(i.startswith("__") and i.endswith("__")): # 如果开头和结尾都不是以双下划线结尾
  23. lst.append(i) # 将符合条件的成员添加到列表中
  24.  
  25. return len(lst)

23.获取当前类继承的父类

  1. '''bases'''

week4:周测错题的更多相关文章

  1. SSM自测错题解析

    试题解析:spring 中bean的作用域有:singleton.session.prototype.request.global Session 试题解析:使用import导入子元素需要用prope ...

  2. mybatis自测错题总结

    试题分析:MyBatis有两种事务管理器类型是JDBC和MANAGED   试题分析:mybatis-config.xml文件使用用来编写影响mybatis行为的设置(settings) 和属性(pe ...

  3. 20175316盛茂淞 《java程序设计》第三周课堂测试错题总结

    20175316盛茂淞 <java程序设计>第三周课堂测试错题总结 出现问题 错题总结 题目1 在Ubuntu中用自己的有位学号建一个文件,教材p87 Example4_15 1. 修改代 ...

  4. Ajax与JqueryUI和EasyUI错题总结

    Ajax与JqueryUI和EasyUI错题总结 正确答案A,解析:此题考察的是JQuery UI下的menu插件的使用,menu提供ui-state-disabled class 方法禁用任何菜单项 ...

  5. 错题集锦(二) -- Java专项

    错题集锦(二) -- Java专项 标签(空格分隔): 找工作 JVM的内存模型 线程共享: 堆(Heap):主要存放一些对象实例 方法区(Method Area / Non-Heap):用于存储已被 ...

  6. objective-c 错题

    //1, NSString *name = [[NSString alloc]initWithString:@"张三"]; NSLog(@"%d",[name ...

  7. HDU2669 第六周练习I题(扩展欧几里算法)

    第六周练习I题 I - 数论,线性方程 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u ...

  8. hibernate错题解析

    01 Hibernate错题分析   解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通 ...

  9. NOIp2014提高组初赛错题简析

    总体分析 \(89pts\),粗略来看选择题错的比较多,\(-6pts\).同时又是尿性的填空杀扣了\(5pts\). 不过后面的两大题全对了还是可喜可贺 错题精析 单项选择T8 编译器的主要功能是( ...

随机推荐

  1. 【Nginx】如何封禁IP和IP段?看完这篇我会了!!

    写在前面 Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流.缓存.黑白名单和灰度发布等等.在之前的文章中,我们已经介绍了Nginx提供的这些功能.小伙伴们可以到[ ...

  2. 02-URLConf调度器

    1.工作原理 django通过urlconf来映射视图函数,只区分路径,不区分http方法 Django确定要使用的根URLconf模块,一般是在settings中的ROOT_URLCONF设置的值. ...

  3. 循序渐进VUE+Element 前端应用开发(16)--- 组织机构和角色管理模块的处理

    在前面随笔<循序渐进VUE+Element 前端应用开发(15)--- 用户管理模块的处理>中介绍了用户管理模块的内容,包括用户列表的展示,各种查看.编辑.新增对话框的界面处理和后台数据处 ...

  4. 开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库

    作者:HelloGitHub-*小鱼干 工欲善其事必先利其器,想要玩溜数据库,不妨去试试本文安利的 5 款开源的数据库管理工具.除了流行的 SQL 类数据库--MySQL.PostgreSQL 之外, ...

  5. DEP(Data Execution Prevention) 数据执行保护

    1.原理 数据执行保护,简称“DEP”,英文全称为“Data Execution Prevention”,是一组在存储器上运行额外检查的硬件和软件技术,有助于防止恶意程序码在系统上运行. 此技术由Mi ...

  6. corosync+pacemaker高可用集群

    高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术.简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点. ...

  7. Nginx/Httpd负载均衡tomcat配置

    在前一篇博客中我们聊了下用Nginx和httpd对后端tomcat服务做反代相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13334180.html: ...

  8. springboot手动事务回滚

    亲测在使用@Transactional.@Transactional(rollbackFor = Exception.class)及catch异常之后 throw new RuntimeExcepti ...

  9. Springboot(一)springboot简介与入门程序

    一.springboot简介: 对spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分. 之前传统的模式都是以application ...

  10. laravel 验证码使用示例

    一.去https://packagist.org/网站搜索验证码的代码依赖,关键词:captcha 地址:https://packagist.org/packages/mews/captcha 二.环 ...