python中的对象和变量的关系

news2024/10/6 0:35:25

这里写目录标题

  • 对象简介
  • 对象的结构
  • 变量和对象

对象简介

Python是一门面向对象的编程语言!
一切皆对象!
程序运行当中,所有的数据都是存储到内存当中然后再运行的!
对象就是内存中专门用来存储指定数据的一块区域
对象实际上就是一个容器,专门用来存储数据
像数值,字符串,布尔值,None都是对象

对象的结构

每个对象中都要保存三种数据
-id(标识)
id用来标识对象的唯一性,每个对象都有唯一的id
对象的id就相当于人的身份证号一样
可以通过id()函数来查看对象的id
id是解析器生成的,在CPython中,id就是对象的内存地址
-type(类型)
类型用来标识当前对象所属的类型
比如:int str float bool 。。。
类型决定了对象有哪些功能
通过type()函数来查看对象的类型
Pyhton是一门强类型的语言,对象一旦创建类型便不能修改
-value(值)
值就是对象中存储的具体的数据
对于有些对象值是可以改变的
对象分成两大类,可变对象 和不可变对象
可变对象的值可以改变
不可变对象的值不能改变,之前常遇到的对象都是不可变对象
在这里插入图片描述

变量和对象

对象并没有直接存储到变量中,在Python中变量更像是给对象起了一个别名。
变量中存储的不是对象的值,而是对象的id(内存地址)。
当我们使用变量时,实际上就是在通过对象的id在查找对象。
变量中保存的对象id,只有在为变量重新赋值时才会改变。
变量与变量之间是相互独立的,修改一个变量不会影响另一个变量。

在这里插入图片描述
修改变量的值时,具体内部细节:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《计算机网络—自顶向下方法》 Wireshark实验(九):DHCP 协议分析

DHCP(Dynamic Host configuration protocol)动态主机配置协议,它可以为客户机自动分配 IP 地址、子网掩码以及缺省网关、DNS 服务器的 IP 地址等 TCP/IP 参数, 简单来说,就是在 DHCP 服务器上有一个数据库,…

Go开发PaaS平台核心功能

Go开发PaaS平台核心功能 1 云原生PaaS平台介绍 随着云计算的发展,越来越多的企业逐步的把IT资源迁移到云上。PaaS平台作为基础设施基座,可以帮助企业快速构建功能丰富的容器云平台,提升交付效率,降低成本。 [1.1] 云原生平台使…

【SpringMVC框架】--01.简介、入门、@RequestMapping、获取请求参数、域对象共享数据、视图、RestFul

文章目录 SpringMVC1.简介1.1 什么是MVC1.2 什么是SpringMVC1.3 SpringMVC的特点 2.编写HelloWorld2.1 创建maven工程2.2 配置web.xml2.3 创建请求控制器2.4 创建springMVC的配置文件2.5测试HelloWorld2.6总结 3.RequestMapping注解3.1 RequestMapping注解的功能3.2 RequestMap…

Java自定义类:打造属于自己的编程世界

🧑‍💻CSDN主页:夏志121的主页 📋专栏地址:Java核心技术专栏 目录 一、自定义类示例 二、隐式参数与显式参数 三、封装的优点 自定义类是Java中最基本、也是最重要的组成部分之一,使用者可以根据需求创建…

【Go微服务开发】gin+grpc+etcd 重构 grpc-todolist 项目

写在前面 最近稍微重构了之前写的 grpc-todolist 模块 项目地址:https://github.com/CocaineCong/grpc-todoList 1. 项目结构改变 与之前的目录有很大的区别 1.1 grpc_todolist 项目总体 1.1.1 改变前 grpc-todolist/ ├── api-gatway // 网关模块 ├── ta…

【小白版】最简单的 goland package 教程包括自定义包的使用

一、Hello World 最简单的教程,就需要从最简单的事情开始说起: mkdir myappcd myappgo mod init myapp // myapp是主项目名 这行命令将生成一个go.mod文件,这个文件会记录所有的包的依赖关系,一个空的go.mod只有项目名称和go版本…

智能指针详解

概念 在c中,动态内存的管理式通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,我们可以选择对对象进行初始化;delete,接受一个动态对象的指针,销毁该对象,并…

gitlab建立新分支提交,cherry-pick部分更新

gitlab介绍 GitLab是一个基于Git的在线代码托管和协作平台,提供源代码管理、单元测试、CI/CD构建、代码审查等功能。它是一个开放源代码的Git仓库管理系统,使用 Ruby on Rails 构建GitLab 不仅具有自己的 Git 仓库管理系统,还具有很多其他的…

AI 加持的代码编写实战:快速实现 Nginx 配置格式化工具

本篇文章聊聊如何使用 GPT 快速完成一个开源小项目,解决实际的问题,顺手点亮 GitHub 上 Nginx 开源社区的贡献者图标。 “Talk is Cheap,Show you the Code。” 写在前面 整理了一篇本该上个月就发出的内容。 前段时间,有个投…

浅谈JDK8的垃圾回收器

JDK1.8默认使用Parallel Scavenge作为年轻代的垃圾回收器,使用Parallel Old作为老年代的垃圾回收器,又称为PS MarkSweep。 Parallel Scavenge 收集器 Parallel Scavenge收集器又称为吞吐量优先收集器,和ParNew收集器类似,是一个新生代收集器。…

【OpenCV DNN】Flask 视频监控目标检测教程 01

欢迎关注『OpenCV DNN Youcans』系列,持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 01 【OpenCV DNN】Flask 视频监控目标检测教程 01 1. 面向Python程序的Web框架2. Flask 框架的安装与使用2.1 Flask 安装2.2 Flask 框架例程2.3 绑定IP和端口2.4 Flask路…

2023-5-20基于52单片机的智能家居系统(蓝牙)

资料已上传在微信公众号:风吹摇铃 奔赴星海 此系统可根据开发板原理图搭配外载模块实现功能,也可以根据原理图焊接或者PCB焊接。 注意:根据开发板搭载外部模块实现功能,需根据开发板原理图修改代码 0、整理及编写了19个常用的5…

NameServer路由注册与发现

NameServer在RocketMQ中主要承担的就是路由的管理、服务注册、以及服务的发现。在RocketMQ这承担着很重要的责任。 整体架构: 消息生产者在发送消息前需要考虑的问题就是,我需要发给谁?地址在哪儿?对于消费者也一样。那么NameSer…

软件工程 | 期末复习

一、软件与软件危机 1、软件发展经历三个阶段:程序设计、程序系统、软件工程 2、软件的概念:软件是计算机系统与硬件相互依存的另一部分,包括程序、数据以及相关文档的完整集合,软件程序数据文档 数据:使程序能够适…

测试人员转型是大势所趋:我的十年经验告诉我,你必须要行动起来了。

做测试十多年,有不少人问过我下面问题: 现在的手工测试真的不行了吗? 测试工程师,三年多快四年的经验,入门自动化测试需要多久? 自学自动化测试到底需要学哪些东西? 不得不说,随着行…

学习open62541 --- [76] 使用智能指针处理内存释放问题

在使用监测项时,一般都会加一个context,然后在回调函数里使用这个context,这就需要保证context的内存空间在执行回调函数时是有效的。往往有以下三种方法: 使用静态内存空间:使用static创建静态变量,然后把…

【Python 爬虫常见的报错及其解决方法】零基础也能轻松掌握的学习路线与参考资料

Python 爬虫被广泛应用于数据采集和分析。然而,爬虫在运行过程中常常会遇到各种问题和错误,降低了爬虫效率、准确性和可靠性。因此掌握爬虫常见报错及其解决方法是非常关键的。本文将介绍 Python 爬虫常见的报错及其解决方法,并提供参考资料和…

内存泄漏的原因,内存泄漏如何避免?内存泄漏如何定位?

1. 内存溢出 内存溢出 OOM (out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个int,但给它存了long才能存下的数,那就是内存溢出。 2. 内存泄…

PyTorch LSTM和LSTMP的原理及其手写复现

PyTorch LSTM和LSTMP的原理及其手写复现 0、前言全部参数的细致介绍代码实现Reference 0、前言 关于LSTM的原理以及公式其实在这篇博客一步一步详解LSTM网络【从RNN到LSTM到GRU等,直至attention】讲的非常清晰明了了。 这里就是写出LSTM的pytorch的实现,…

【随笔记】全志 T507 PF4 引脚无法被正常设置为中断模式的问题分析

相关信息 硬件平台:全志T507 系统版本:Android 10 / Linux 4.9.170 问题描述:PF4 无法通过标准接口设置为中断模式,PF1、PF2、PF3、PF5 都可以。 分析过程 一开始以为是引脚被其它驱动占用引起,或者该引脚不具备中断…