Python进阶(十四)----空间角度研究类,类与类之间的关系

一丶从空间角度研究类

对象操作对象属性

class A():
address = '沙河' def __init__(self, name):
self.name = name def func(self): # 给对象封装一个属性
if self.name == 'ls':
self.age = 100 obj = A('ls') #实例化一个对象 # 类的外部给对象封装属性
obj.sex = '男'
print(obj.__dict__) #查看对象空间的属性 # 类的内部,使用方法 给对象封装属性
obj.func()
print(obj.__dict__) #查看对象空间的属性 ###总结:
# 对象的属性不仅可以在`__init__`里面添加,还可以在类的其他方法或者类的外面添加。

类名操作类中的属性

class A():
address = '沙河' def __init__(self, name):
self.name = name def func1(self):
A.country = '中国' obj = A('ls') #实例化一个对象 ## 类 外部给类封装属性
A.temp='39℃' # 给类添加一个属性
print(A.__dict__) #查看类名称空间的属性 ## 类 内部调用函数封装属性
A.func1(obj) # 由于类要调用类中方法必须传递参数给self.在这里可以把obj对象作为参数传递给self,相当于对象调用了这个方法(obj.func1())
print(A.__dict__) #查看类名称空间的属性 ###总结:
# 类的属性不仅可以在类内部添加,还可以在类的外部添加。

类对象指针

所谓指针:当实例化生成对象时,会产生一个对象指针,存在对象名称空间. 用于指向类空间

class A():
class_attr='123' def __init__(self,name):#实例化过程自动执行__init__方法,给对象封装属性,还封装一个类对象指针
self.name=name a=A() #实例化对象 a
a.class_attr # a是对象的名称空间,不存在class_attr属性. 这时类对象指针指向类名称空间,类名称空间存在class_attr属性.a对象就能获得class_attr属性. #总结:
# 类对象指针就是存在对象中,用于指向回生成对象的这个类.

对象取值顺序

​ 对象查找属性的顺序:先从对象空间------> 类空间------> 父类空间

类名取值顺序

​ 类名查找属性的顺序:先从本类空间-------> 父类空间

二丶类与类的关系

依赖关系:

​ 依赖关系 (主从关系) 将一个类的类名,或者对象传给另一个类的方法中

class Elephant():
def __init__(self, name):
self.name = name def open(self, ref): # 依赖关系, ref是形参,接收另一个类生成的对象
print(f'{self.name}

Python进阶(十四)----空间角度研究类,类与类之间的关系的更多相关文章

  1. Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

    Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

  2. 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘

    孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...

  3. day22——从空间角度研究类、类与类之间的关系

    day22 从空间角度研究类 何处添加对象属性 在类的______init______可以添加 class Human: mind = "有思想的" def __init__(se ...

  4. Python进阶(十五)----面向对象之~继承(单继承,多继承MRO算法)

    Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # ...

  5. J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP

    J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.    ...

  6. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

  7. Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)

    Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理) 一丶封装 , 多态 封装:            将一些东西封装到一个地方,你还可以取出来( ...

  8. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  9. Python第二十四天 binascii模块

    Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...

随机推荐

  1. PHP系列 | Thinkphp3.2 上传七牛 bad token 问题 [ layui.upload 图片/文件上传]

    前端代码 <div class="logo_out" id="upload-logo"></div> JS代码 /** * 上传图片 * ...

  2. python开发笔记-str转字典

    后台接收到post请求数据格式为json格式的字符串,不能直接用字典的get方法 909090909090909090909090909090909 Internal Server Error: /g ...

  3. a dynamic resume

    介绍 发现一款开源的动画简历工程, 很是吸引眼球, 分享出来. 技术: 1. npm工程管理 2. vuejs 设计上,将工程分为两个组件: 0.程序入口组件 1. 编辑器组件 2. 简历展示组件 流 ...

  4. MOP tricks

    MOP tricks 开新坑,未完待续 觉得有用的话,欢迎一起讨论相互学习~Follow Me Reference [1] Multiobjective Immune Algorithm with N ...

  5. OpenStack(三)——allinone云平台的使用方法

    接着OpenStack(二)——使用Kolla部署OpenStack-allinone云平台继续操作. 特别感谢https://www.cnblogs.com/openstackteam/p/5519 ...

  6. 【linux基础】如何配置ubuntu系统为静态IP地址

    前言 连接远程server重启的时候发现IP发生变化,影响远程连接,此时,需要将server配置为静态IP. 系统环境 ubuntu16.04 操作过程 1. 设置IP和DNS command sud ...

  7. mybatis批量新增或更新

    mysql中在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE时,向数据库中插入一条记录: 若插入数据的主键值/ UNIQUE KEY 已经在表中存在,则执行更新操作(UPDA ...

  8. Laravel实现from的curl文件转发

    文件的使用curl分发时发现不能直接将其传入curl,需要使用CURLFile()来实现 分发类 <?php /** * 请求转发控制器 * Created by PhpStorm. * Use ...

  9. mongodb4.2.2 centos 单机安装

    下载 rpm包 wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-server-4. ...

  10. 香农的伟大论文《A Symbolic Analysis of Relay and Switching Circuits》

    香农在1938年发表的伟大论文A Symbolic Analysis of Relay and Switching Circuits(<对继电器和开关电路中的符号分析>)将开关.继电器.二 ...