4.类属性和对象属性

类属性:定义在class内,函数外

对象属性:定义在构造函数的内部

演示:类和对象的关系 --> 生命周期

【注意】类加载早,对象加载晚 --> 晚的可以调用早的,早的不能调用晚的

类属性和对象属性
class Demo:
#类属性
a=100
# def __init__(self,a):
# self.a=a def __init__(self,b):
#对象属性
self.b=b #实例化对象:
d=Demo(200)
print(d)
1).兑现估计可以调用对象属性,也能调用类属性-->仅仅是获取操作
2).如果存在同名的类属性和对象属性,对象调用的是对象属性(因为优先级的原因)
3).对象可以修改对象属性,但是不能修改类属性,仅仅是动态添加一个对象属性罢了
4).类可以反问类属性(获取、设置)
5).类不能访问对象属性(获取、设置)-->因为有类了,还不一定有对象呢!
print(d.b,d.a)
思考:使用对象去访问(设置)类属性,行不行?
不行,对象不能修改类属性,以下的操作仅仅是为对象动态添加属性a
d.a=500
print(d.a,d.__dict__)
类名可以访问类属性(获取、设置)
print(Demo.a)
Demo.a=666 print(d.a,Demo.a) #实例化对象
d1=Demo(300)
print(d1.a)
类不能访问对象属性,因为有类了,还不一定有对象呢!
print(Demo.b)

返回目录

python第四十七课——类属性和函数属性的更多相关文章

  1. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  2. python进阶01 面向对象、类、实例、属性封装、实例方法

    python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ...

  3. NeHe OpenGL教程 第四十七课:CG顶点脚本

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. 潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)

    类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类 ...

  5. python语言(四)关键字参数、内置函数、导入第三方模块、OS模块、时间模块

    一.可变参数 定义函数时,有时候我们不确定调用的时候会传递多少个参数(不传参也可以).此时,可用包裹(packing)位置参数(*args),或者包裹关键字参数(**kwargs),来进行参数传递,会 ...

  6. python 静态方法,类方法,类下面的函数区别

    @clssmenthod(类方法) 与 @staticmethod(静态方法) 与类下面的函数的区别: 1.@classmethod修饰的方法def name(cls)需要通过cls参数传递当前类本身 ...

  7. Javascript高级程序设计——函数内部属性与函数属性

    函数内部属性 函数内部有两个特殊的属性arguments和this.其中,arguments是类数组对象,包含传入函数中的所有值,这个arguments还有一个属性:callee,这个属性是一个指针, ...

  8. python第四十三课——封装性

    1.面向对象的三大特性:封装性.继承性.多态性 封装: 封装使用的领悟: 1).生活层面:食品.快递.计算机.明星... 2).计算机层面: ①.模块.类.函数... ②.属性数据的封装与隐藏 权限修 ...

  9. python第四十课——构造函数

    1.动态给对象添加属性: 在对象创建完毕后,单独为其添加需要的属性:可以理解为:私人定制 [注意]: 添加的属性只有此对象能够使用,别的对象如果用了,直接报错; 2.构造函数/构造方法/构造器: 格式 ...

随机推荐

  1. 通过 URL 打开 Activity

    为每个 Activity 绑定一个 url 可以方便的让第三方 app 直接打开这些 Activity.也可以方便在 app 内部进行页面跳转,解耦. 背景 举一个常见的案例,假设我们有个产品 A,产 ...

  2. Jmeter JDBC Request 查询语句中有汉字查询结果为空的解决方法

    搜索接口我会校验返回值,查询JDBC Request 查询语句有中文字的时候查询会有问题. 解决方法很简单,在JDBC Connection Configuration的Database URL里加一 ...

  3. POJ 1724 ROADS(使用邻接表和优先队列的BFS求解最短路问题)

    题目链接: https://cn.vjudge.net/problem/POJ-1724 N cities named with numbers 1 ... N are connected with ...

  4. [转]在Node.js中使用RabbitMQ系列一 Hello world

    本文转自:https://www.cnblogs.com/cpselvis/p/6288330.html 在前一篇文章中可伸缩架构简短系列中提到过关于异步的问题.当时推荐使用RabbitMQ来做任务队 ...

  5. 后台MemoryStream图片流用ajax接收乱码问题

    MemoryStream ms = new MemoryStream(); //要先把二进制流进行编码,再传输,解决乱码问题 Convert.ToBase64String(ms.ToArray()); ...

  6. 移动端地区选择控件mobile-select-area

    由于之前的[js开源组件开发]js手机联动选择地区仿ios 开源git 很受欢迎,于是我又对其进行了一些优化,包括可选的范围变大了,添加了默认空首地址的功能,也添加了更多api参数,首先我们先来看下这 ...

  7. Dockerfile 中 RUN, CMD, ENTRYPOINT 的区别

    RUN 指令:用于指定 docker build 过程中要运行的命令. 语法格式: RUN <command> 或 RUN ["<executeable>" ...

  8. 微信小程序日历课表

    最近项目中使用到了日历,在网上找了一些参考,自己改改,先看效果图 wxml <view class="date"> <image class="dire ...

  9. [总结]jQuery之选择器集合

    jQuery 的选择器可谓之强大无比,常用的元素查找方法: $("#myELement") //选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是my ...

  10. 【读书笔记】iOS-MVC

    用户的每一个动作都是以一个View的Action方式传递给Controller,然后,Controller再发送消息通知Model做出响应的逻辑处理,当Model层面上的业务逻辑处理有了结果之后,Mo ...