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

[译]Python中的类属性与实例属性的区别

以下的区别有意义么?

class A(object):
    foo = 5   # some default value

Vs

class B(object):    def __init__(self, foo=5):
             self.foo = foo

如果你需要创建很多实例,这两种风格在表现和空间要求上有什么区别么?当你阅读代码的时候,你是否会考虑这两种风格的重要区别?

除了表现上的考虑,这边有一个重要的语义上的不同。在类属性的那个例子中,只有一个对象被引用。用实例属性设置的实例中,实例有可能被多个对象引用。比如说:

>>> class A: foo =[ ]
>>> a, b = A(), A()
>>> a.foo.append(5)
>>> b.foo
[5]
>>> class A:
...  def __init__(self): self.foo = [ ]
>>> a, b = A(), A()
>>> a.foo.append(5)
>>> b.foo   
[]

原文链接:Python: Difference between class and instance attributes

相关文章:

  • 如何利用业余时间快乐的赚钱
  • 洞悉linux下的Netfilteriptables:什么是Netfilter?
  • 自执行函数 闭包
  • 一周规划汇总_2016-09-18
  • wdcp日志
  • 【脚本】新增未扩展磁盘容量
  • Linux中rz和sz命令用法详解
  • c#用牛顿法计算根号下2的值
  • hadoop命令报错:权限问题
  • welcome-file-list标签的控制作用以及在springmvc中此标签的的配置方式
  • DateFormat 竟然是非线程安全的?!!!!!
  • 第九章:引导Netty应用程序
  • springmvc权限拦截器
  • 使用PowerShell 监控运行时间和连接情况
  • leetcode70
  • 230. Kth Smallest Element in a BST
  • Akka系列(七):Actor持久化之Akka persistence
  • Cookie 在前端中的实践
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • JavaScript设计模式之工厂模式
  • Map集合、散列表、红黑树介绍
  • Object.assign方法不能实现深复制
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • 番外篇1:在Windows环境下安装JDK
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 山寨一个 Promise
  • 手写一个CommonJS打包工具(一)
  • 跳前端坑前,先看看这个!!
  • 移动端解决方案学习记录
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 正则与JS中的正则
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • linux 淘宝开源监控工具tsar
  • #NOIP 2014#Day.2 T3 解方程
  • #QT项目实战(天气预报)
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET Core中的去虚
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net 受管制代码
  • .Net环境下的缓存技术介绍
  • .NET上SQLite的连接
  • @ConfigurationProperties注解对数据的自动封装
  • [1525]字符统计2 (哈希)SDUT
  • [AIGC] MySQL存储引擎详解
  • [AIGC] Spring Interceptor 拦截器详解
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [C]编译和预处理详解
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [cb]UIGrid+UIStretch的自适应
  • [emacs] CUA的矩形块操作很给力啊
  • [FC][常见Mapper IRQ研究]