一.内容回顾

  类:具有相同属性和方法的一类事务

  # 描述一类事务轮廓的一个机制

    #商品/用户/店铺

  对象/实例: 对象(实例)就是类的实例化

    # 对象就是类的一个具体的表现

      #某一件特定的商品/某个人/某一家店

  实例化 : 类 --> 对象

  实例化的过程:

    #1.创建一个属于对象的空间

    #2.执行__init__,把这个空间传递给init的第一个参数

    #3.把这个空间地址作为返回值返回给对象变量

  #如何定义一个类

  #class Cls:pass

  #在类中直接可以定义的内容:

    #静态属性 : 这个类拥有的,所有的对象都共享的属性

    #动态属性: 方法\定义在类中的函数,描述的是所有对象共享的行为

  #类名的作用

    #实例化的时候  对象 = 类名()

    # 操作静态属性

  #对象名的作用:

    #操作对象的属性

    #调用方法

二.今日内容

  #类的命名空间

    #类的代码的执行顺序

    #静态属性的意义,和他所在的位置

    #动态属性所存储的位置

  #对象的命名空间

    #如何建立起和类之间的关系

    #对象的属性是如何存储的

  #组合

    #常用的技能

# class A:
# Country = 'China'
# def talk(self):
# print('%s is talking'%self.name)
# alex = A()



# 一个类可不可以没有__init__? 可以
# 在没有__init__的情况下,实例化经历了哪些步骤???
# 1.创建一个空间给对象
# 2.将这个空间的地址返回
# alex.name = 'alex'
# alex.talk()
# class A:
# Country = 'China'
# def __init__(self,name):
# self.name = name
# def talk(self):
# print('%s is talking'%self.name)
# 类中的代码是在什么时候执行的? 在实例化之前
# 新增静态属性
# A.静态属性名 = 'abc'
# print(A.静态属性名)
# 修改静态属性
# A.Country = '印度'
# print(A.Country)
# 删除静态属性
# del A.Country
# print(A.Country) # 报错
# print(A.__dict__)  # 只能看,不能改也不能删
# 类的命名空间中有什么:
# 静态属性
# 动态属性(方法)


# 对象的命名空间和类的命名空间之间的关系 :
# 对象和类之间有一个单向的联系,类对象指针
# 对象在使用某个名字的时候,如果在自己的空间中没有找到,就要到类的空间中去找

# 如果静态变量是一个不可变数据类型,那么只要对象修改这个数据,就相当于在对象的空间中新建
# 如果静态变量是一个可变数据类型,那么对象修改这个容器中的元素,相当于修改类的空间中的元素
# 如果静态变量是一个可变数据类型,那么对象直接对这个变量重新赋值,相当于修改对象自己空间中的元素 # 大结论
# 只要是静态变量,就用类名去修改,永远修改成功,并且所有的对象都共享这个改变
# 总结
# 对象的命名空间:类指针\对象的所有属性
# 类的命名空间:方法和(静态属性\字段)
# 对象在寻找名字的时候 : 先找对象自己内存空间中的,找不到就去类的命名空间中寻找
# 类中的名字是什么时候写入内存的 : 代码从上到下执行的时候就已经写入的.一定是在实例化之前
# 静态变量 : 尽量用类名去操作

day27 Pyhton 面向对象02 类和对象的命名空间的更多相关文章

  1. 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象

    077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...

  2. day27 Pyhton 面向对象02 组合

    # 组合 # 什么是组合 : 一个类对象的属性是另外一个类的对象 class Person: def __init__(self,name,sex,hp,mp,ad): self.name = nam ...

  3. Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系

    Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...

  4. oop面向对象【类与对象、封装、构造方法】

    今日内容 1.面向对象 2.类与对象 3.三大特征——封装 4.构造方法 教学目标 1.能够理解面向对象的思想 2.能够明确类与对象关系 3.能够掌握类的定义格式 4.能够掌握创建对象格式,并访问类中 ...

  5. 面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing ...

  6. java面向对象之 类和对象

    OOP:Object Oriented Programming(面向对象编程) 面向对象: 1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指挥者. 3:面向对象这种思想是符合现在 ...

  7. C#基础篇--面向对象(类与对象)

    1.类是什么?  类就相当于模板,就是把同一类的事物的共同特征进行的抽象. 类的创建和说明: 类是先根据一些具体的对象(实体的东西)来抽象出来的共同的特性,然后用代码来表示. 在类中,用数据表示事物的 ...

  8. Python记录14:面向对象编程 类和对象

    '''现在主流的编程思想有两种,一种是面向对象,一种是面向过程面向过程编程 核心是过程二字,过程指的是解决问题的步骤,即先干什么.再干什么.最后干什么... 基于该思想编写程序就好比再设计一条流水线, ...

  9. Python 面向对象(创建类和对象,面向对象的三大特性是指:封装、继承和多态,多态性)

    概念:                                                                                                 ...

随机推荐

  1. Sympy解方程-求极限-微分-积分-矩阵运算

    简介 Sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值.求极限.解方程.求积分.微分方程.级数展开.矩阵运算等等计算问题.虽然Matlab的类似科学计算能力也很强大 ...

  2. cookie和session讲解

    1.cookie是什么? 保存在浏览器本地上的一组组键值对 2.session是什么? 保存在服务器上的一组组键值对 3.为什么要有cookie? HTTP是无协议状态,每次请求都是互相独立的,没有办 ...

  3. Charles抓包工具的用途及应用

    Charles抓包工具的用途: 排查问题,测试异常情况 注意:Charles不能直接抓https请求的包,需要用https://www.jianshu.com/p/ec0a38d9a8cf这个方法去配 ...

  4. Java反序列漏洞

    序列化:WriteObject 反序列化:readObject() Jd-gui.exe 最简单的打开java文件方式 Intellij idea 编辑工具 演示案例: WebGoat_Javaweb ...

  5. NOIP2017 Day1 T1 小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小凯想知道在无法准确支付的物品中,最贵的价 ...

  6. Linux实战(13):Ubuntu被远程

    此方法采用的xrdp原生方案,优点兼容性比较好. 安装xrdp sudo apt install xrdp #最高权限安装xrdp 修改配置 nano /etc/xrdp/startwm.sh #使用 ...

  7. 1.3Hadoop版本说明

  8. Apache Hudi和Presto的前世今生

    一篇由Apache Hudi PMC Bhavani Sudha Saktheeswaran和AWS Presto团队工程师Brandon Scheller分享Apache Hudi和Presto集成 ...

  9. python环境变量的安装与配置

    安装最新的3.x(2.x如今已经不常见) 下图来源:百度(电脑已安装,不能重复) 一定要勾选"Add Python 3.6 to PATH".(如果没有勾选在安装完成后需要手动添加 ...

  10. 吴恩达Machine Learning学习笔记(三)--逻辑回归+正则化

    分类任务 原始方法:通过将线性回归的输出映射到0-1,设定阈值来实现分类任务 改进方法:原始方法的效果在实际应用中表现不好,因为分类任务通常不是线性函数,因此提出了逻辑回归 逻辑回归 假设表示--引入 ...