博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python继承关系及DVD案例
阅读量:6275 次
发布时间:2019-06-22

本文共 3343 字,大约阅读时间需要 11 分钟。

1.模块.getrefcount--查看引用个数,如果没有引用,则抛异常;
2.继承:简化代码。生成子类时,先初始化父类
继承属性--①self.属性=当前属性
     ②父类.属性=当前属性
     ③父类._init_()方法
     ④super(子类,self)._init_()方法
3.构造方法(必须有返回值)优先于初始化方法
类名.mso用于调用父类的位置
def _new_(cls,*,**):
  print()
  return object._new_(cls)
4.类方法:@classmethod需要参数 例如构造方法
静态方法:@staticmethod没有参数 和类.对象没有关系
5.单例模式:只创建一个对象
构造方法内部可以进行判断
#单例模式
class Sing:
__instance=None
  def __new__(cls):
    if cls.__instance==None:
      cls.__instance=object.__new__(cls)
      return cls.__instance
    else:
      return cls.__instance
 
s=Sing()
ss=Sing()
print(id(s),id(ss))
 
6.对象列表排序:
重写_lt_() _str_() 等方法;列表输出需要循环
def _lt_(self,other):
  return self.brand.encode("gbk")<other.brand.encode("gbk")
der _str_(self):
  return self.brand+str(self.price)
7.异常处理和写
try:
  语句
except 异常类型 as 别名:
  语句
else:
  无异常则执行
finally:
  语句
8.运用else,一般和break一起使用
flag=False
for i in range(1,11):
  if i%3==0:
    flag=True
    print(i)
    break
  else:
    print("没有被整除的")
 
9.pass什么都不写的时候用
 
迭代器 装饰模式 xml解析 文件
 
 
 
DVD管理系统案例:(分为简单模拟和优化)
  1.简单模拟(含错误)
class Dvd:     def __init__(self,num=None):         self.num=num         list=[]         print("========DVD管理系统========\n1.查询所有DVD\n2.增加DVD\n3.借出DVD\n4.归还DVD\n5.退出") class Handler(Dvd):     def __init__(self):         Dvd.__init__(self)         num = int(input("请输入您要选择的数字"))         list=[]         if num is 1:             print(list)             Handler()         if num is 2:             value=input("请输入DVD的名称")             list.append(value)             print(list)             nu=int(input("是否继续增加0/1"))             if nu is 0:                 value = input("请输入DVD的名称")                 list.append(value)             print(list)             Handler()         if num is 3:             value=input("请输入您要借出的DVD")             list.remove(value)             print(list)             Handler()         if num is 4:             value=input("请输入要归还的DVD名称")             list.append(value)             print(list)             Handler()         else:             print("已经退出系统!")             nu=str(input("是否再次进入系统0/1"))             if nu is 0:                 Handler()             else:                 pass s=Handler()
 
 
2.优化后案例(还可以继续优化,目前要求不清晰,能力有限):
class Dvd:     def __init__(self,num=None):         self.num=num         list=[]         print("========DVD管理系统========\n1.查询所有DVD\n2.增加DVD\n3.借出DVD\n4.归还DVD\n5.退出") class Handler(Dvd):     def __init__(self):         Dvd.__init__(self)         num = int(input("请输入您要选择的数字"))         list=[]         if num is 1:             print(list)             Handler()         if num is 2:             value=input("请输入DVD的名称")             list.append(value)             print(list)             nu=int(input("是否继续增加0/1"))             if nu is 0:                 value = input("请输入DVD的名称")                 list.append(value)             print(list)             Handler()         if num is 3:             value=input("请输入您要借出的DVD")             list.remove(value)             print(list)             Handler()         if num is 4:             value=input("请输入要归还的DVD名称")             list.append(value)             print(list)             Handler()         else:             print("已经退出系统!")             nu=str(input("是否再次进入系统0/1"))             if nu is 0:                 Handler()             else:                 pass s=Handler()

转载于:https://www.cnblogs.com/qianshuixianyu/p/9118515.html

你可能感兴趣的文章
top sql(oracle)
查看>>
125.53亿元!融创收购泛海北京泛海国际项目及上海董家渡项目 ...
查看>>
阿里云RPA(机器人流程自动化)干货系列之六:客户端安装及激活
查看>>
我最喜欢的快速排序算法之一
查看>>
5G将为农村地区做些什么?
查看>>
【翻译】Sklearn 与 TensorFlow 机器学习实用指南 —— 第11章 训练深层神经网络(下)...
查看>>
SQLflow:基于python开发的分布式机器学习平台, 支持通过写sql的方式,运行spark, 机器学习算法, 爬虫...
查看>>
机器学习可行性与VC dimension
查看>>
Nacos 发布 1.0.0 GA 版本,可大规模投入到生产环境
查看>>
关于ovirt主机即做存储又兼虚拟机主机的官方文档说明
查看>>
grep匹配结尾字符串的特殊情况
查看>>
第三方农资电商平台大丰收获华创资本数亿元C轮融资
查看>>
“虎鲸跳跃” 完成300万美元Pre-A轮融资,投资方为蓝湖资本及险峰长青
查看>>
JSON简介
查看>>
深圳安泰创新完成数千万新一轮融资,贝森资本领投
查看>>
当 Kubernetes 遇到阿里云
查看>>
MongoDB与Java 经典面试题、课程,好资源值得收藏
查看>>
标普全球获准进入中国市场,本土评级机构压力山大!
查看>>
阿里云基础产品技术月刊 2019年1月
查看>>
Go 语言的垃圾回收演化历程:垃圾回收和运行时问题
查看>>