当前位置: 首页 > news >正文

python类继承和类变量

Python一些类继承和实例变量的使用
定义基类

class APIException:code = 500msg = "Sorry, error"error_code = 999def __init__(self, msg=None):print("APIException init ...")def error_400(self):pass

复用基类的属性值

class ClientTypeError(APIException):code = 400# msg = "client is invalid" # 子类ClientTypeError默认的错误消息error_code = 1006client_error = ClientTypeError()
print(client_error.msg)  # Sorry, error

当我们需要随时修改子类错误时,需要修改基类的__init__函数

class APIException:code = 500msg = "Sorry, error"error_code = 999def __init__(self, msg=None):self.msg = msg # 重写基类修改类变量的值print("APIException init ...")def error_400(self):pass

子类自定义错误信息

class ClientTypeError(APIException):code = 400msg = "client is invalid"error_code = 1006client_error = ClientTypeError(msg="not found")
print(client_error.msg)
# APIException init ...
# not found

注:类变量和实例变量不是一个概念,类变量是所有类实例共同拥有的属性,当同一个类的实例修改了类变量的值,可能会给其他实例造成数据上的污染,如果想保证每一个实例都拥有自己的变量值,需要使用实例变量,也就在__init__函数中创建变量。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • mac上挂载linux目录
  • 使用Livox-Mid360激光雷达,复现FAST_LIO(保姆级教程)
  • Linux 高级编程——线程控制
  • 【优化论】约束优化算法
  • 学习笔记——动态路由——OSPF(邻接/邻居)
  • Java中的服务治理与API网关实现
  • Spring相关面试题(四)
  • 二、基础—常用数据结构:列表、元祖、集合、字典、函数等(爬虫及数据可视化)
  • 跨平台书签管理器 - Raindrop
  • 软考数据库——第五章网络基础知识(知识点介绍和历年真题)
  • go语言day09 通道 协程的死锁
  • 【力扣】数组中的第K个最大元素
  • 平价蓝牙耳机推荐有哪些?四大超值平价蓝牙耳机品牌盘点
  • swagger路径怎么设置为不曝露
  • ETag:Springboot接口如何添加Tag
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • GitUp, 你不可错过的秀外慧中的git工具
  • HomeBrew常规使用教程
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JSONP原理
  • js数组之filter
  • mysql中InnoDB引擎中页的概念
  • oldjun 检测网站的经验
  • React中的“虫洞”——Context
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 记一次删除Git记录中的大文件的过程
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端设计模式
  • 设计模式走一遍---观察者模式
  • 微信开放平台全网发布【失败】的几点排查方法
  • Hibernate主键生成策略及选择
  • ​iOS实时查看App运行日志
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • (C语言)字符分类函数
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (k8s中)docker netty OOM问题记录
  • (SERIES12)DM性能优化
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (全注解开发)学习Spring-MVC的第三天
  • (新)网络工程师考点串讲与真题详解
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (循环依赖问题)学习spring的第九天
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)大型网站架构演变和知识体系
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net core + vue 搭建前后端分离的框架
  • .NET Core WebAPI中封装Swagger配置
  • .Net Core 中间件与过滤器