python 添加类属性
创建类属性 类是模板,而实例则是根据类创建的对象。绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。定义类属性可以直接在 class 中定义:class Person(object):address = 'Earth'def __init__(self, name):self.name = name 因为类属性是直接绑定在类上的,所以,访问类属性不需要创建实例,就可以直接访问:print Person.address # => Earth 对一个实例调用类的属性也是可以访问的,所有实例都可以访问到它所属的类的属性:p1 = Person('Bob') p2 = Person('Alice') print p1.address # => Earth print p2.address # => Earth 由于Python是动态语言,类属性也是可以动态添加和修改的:Person.address = 'China' print p1.address # => 'China' print p2.address # => 'China' 因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了。任务 请给 Person 类添加一个类属性 count,每创建一个实例,count 属性就加 1,这样就可以统计出一共创建了多少个 Person 的实例。?不会了怎么办 由于创建实例必定会调用__init__()方法,所以在这里修改类属性 count 很合适。参考代码:class Person(object):count = 0def __init__(self, name):Person.count = Person.count + 1self.name = name p1 = Person('Bob') print Person.count # => 1 p2 = Person('Alice') print Person.count # => 2 p3 = Person('Tim') print Person.count # => 3
转载于:https://www.cnblogs.com/superxuezhazha/p/5726029.html
python 添加类属性相关推荐
- python 类装饰器和继承_python装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式(一)...
介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加. 1 #coding= ...
- Python的类属性与对象属性的区别
Python的类属性与对象属性的区别 命名规则: 1.1 类属性由类创建,命名规则为类名.属性名 1.2 对象属性由对象创建,命名规则为对象名.属性名 调用方法: 2.1 类属性由类调用 2.2 对象 ...
- Python 定义类属性
在OOP(Object Oriented Programming)程序设计中,当我们定义一个class的时候,可以从某个现有的class 继承,新的class称为子类(Subclass),而被继承的c ...
- python面向对象类属性_python面向对象之类属性和类方法案例分析
本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...
- Python之 类属性和类方法
类属性和类方法 目标 类的结构 类属性和实例属性 类方法和静态方法 类的结构 1.1 术语 -- 实例 使用面相对象开发,第 1 步 是设计 类 使用 类名() 创建对象,创建对象 的动作有两步: 在 ...
- Python基础——类属性、类方法、异常
文章目录 一.实例属性和类属性 1.类属性 2.实例属性 3.实例方法 二.实例方法.类方法和静态方法 1.实例方法 2.类方法 3.静态方法 三.__new__方法 三.单例设计模式 四.射击游戏 ...
- python的类属性和方法_Python中类属性、实例属性和实例方法的区别
你似乎对概念有相当好的理解.很难找到用通用方式解释的信息,尤其是像python这样一种广泛使用的语言.我基本上会附和你的正确假设,并在此过程中做一些小的调整.在 类属性是将从类共享创建的所有对象的特征 ...
- 【python】类属性以及实例属性、实例方法的介绍
1. 类的组成 class Demo():var = 'demo' # 类属性,公有__num = 100 # 类属性,私有def __init__(self,name='muzi',age=18): ...
- python的类属性和方法_Python 类的属性和方法
本文介绍Python类中的属性和方法.和大部分语言类似,Python中的属性和方法也公有(public)和私有(private) 的区分. 一.类的公有和私有属性: 在Python中一般定义的属性为公 ...
最新文章
- 2022-2028年中国互联网+不良资产处置行业深度调研及投资前景预测报告
- 巨人网络开发工程师试题
- 创建一个Android模拟器
- Node 抓取非utf-8编码页面
- IOS-组件化架构漫谈
- python安装库报错Microsoft visual c++ 14.0 is required问题解决办法
- 请不要更多的基本情节
- 揭秘淘宝286亿海量图片存储与处理架构,互联网营销
- 如何制作一个基于Tile的游戏 Cocos2d-x 2 0 4
- 转:70个漂亮实用的JavaScript和Ajax技术(有图有例子)
- [Android Studio] Android Studio如何快速生成get,set,tostring,构造函数
- 智能马桶盖FCC认证 家电检测认证标准及要求
- OpenCV——分离颜色通道,图像对比度,亮度调整,离散傅里叶变换(10)
- 制作精致闪电天气APP图标的PS教程
- 【Android开发】wifi开关与wifi连接(密码连接)
- 电感线圈绕制常用的漆包线
- 错误使用 load ASCII 文件的行号 1 中的文本未知“MATLAB“。
- 读书笔记17 《靠谱》大石哲之
- ubuntu18.04 | soundfile安装报错与解决
- 1--100以内的质数(只能被1和其本身整除的数就是质数,1不是质数)