Python---可变和非可变数据类型

news2024/11/26 18:32:41

在Python中一共有7种数据类型:

数值(int整型、float浮点类型)、bool类型(True和False)、字符串类型(str)、元组(tuple 1,2,3)、列表(list [1, 2, 3])、字典(dict {key:value})、集合(set {1, 2})

在Python中,我们可以把7种数据类型分为两大类:可变类型 + 非可变类型

① 非可变类型

数值(int整型、float浮点类型)

bool类型(True和False)

字符串类型(str)

元组(tuple 1,2,3)

② 可变类型

列表(list [1, 2, 3])

字典(dict {key:value})

集合(set {1, 2})

如何判断一个数据类型是可变类型还是非可变类型?

在Python中,可变类型与非可变类型主要是通过这个数据类型在内存中的表现形式来进行定义的。

① 可变类型就是在内存中,其内存地址一旦固定,其值是可以发生改变的


a = [1, 2, 3]
print(id(a))

# 向内存中追加新数据(对数据进行改变只能通过数据类型.方法()实现)
a.append(4)
print(id(a))

原理图:

② 非可变类型就是在内存中,内存地址一旦固定,其值就没办法发生任何改变了


a = 10
print(id(a))

a = 'hello'
print(id(a))

原理图:

可变类型与非可变类型在函数中的应用

可变类型


# 定义一个函数
def func(names):
    print(names)


# 定义一个全局变量
names = ['张三', '李四', '王五']
# 调用函数
func(names)

原理图:

综上所述:可变类型在函数中,如果在全局或局部中对可变类型进行增删改操作,其外部和内部都会受到影响。

不可变类型


# 定义一个函数
def func(num):
    num += 1
    print(num)


# 定义一个全局变量
a = 10
# 调用函数
func(a)
# 在全局作用域中打印a
print(a)

综上所述:不可变类型在函数中,局部或全局的改变对外部和内部都没有任何影响。

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

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

相关文章

02-鸿蒙学习之4.0todoList练习

02-鸿蒙学习之4.0todoList练习 代码 /*** 1:组件必须使用Component装饰* 2.Entry 装饰哪个组件,哪个组件就呈现在页面上* 3.被Entry 装饰的入口组件。build()必须有且仅有一个根 ** 容器 ** 组件* 其他的自定义组件,build() 中…

Vue框架学习笔记——事件处理:v-on指令+methods

文章目录 前文提要事件处理的解析过程,v-on:事件名样例代码如下:效果展示图片:v-on:事件名"响应函数"v-on简写形式响应函数添加响应函数传参占位符"$event"注意事项 前文提要 本人仅做个人学习记录,如有错误…

file_get_contents() 函数详解与使用

概述 在PHP中,file_get_contents() 函数是一个强大的工具,它既可以用于读取本地文件的内容,也可以用于发起 HTTP 请求获取远程资源。本文将详细介绍 file_get_contents() 函数的两种主要用途,并探讨如何充分利用这个函数。 1. 文…

MongoDB安装教程

前言 这里介绍的是使用本地安装的方式,安装MongoDB Mac端 第一种方式是使用手动下载,然后手动安装的方式 这种方式的优点,可以锻炼手动安装的能力,熟悉软件的安装流程。 但是缺点就是,操作比较复杂, 1&am…

五子棋游戏

import pygame #导入pygame模块 pygame.init()#初始化 screen pygame.display.set_mode((750,750))#设置游戏屏幕大小 running True#建立一个事件 while running:#事件运行for event in pygame.event.get():if event.type pygame.QUIT:#当点击事件后退出running False #事…

yolov8-pose姿势估计,站立识别

系列文章目录 基于yolov8-pose的姿势估计模式,实现站姿,坐姿,伏案睡姿识别,姿态动作识别接口逻辑作参考。本文以学习交流,分享,欢迎留言讨论优化。 yoloPose-姿势动作识别 系列文章目录前言一、环境安装二、使用yolov8-pose1.导入模型,预测图像三.姿势动作识别之站立总…

精密机床导轨直线度的常用检查方法

导轨直线度是精密机床精度的基础精度,导轨直线度对精密机床精度都有着直接的影响,其检测仪器和检测方法较多也较为复杂,并应根据不同情况采取不同的检测仪器和不同的检测方法。那么,常用的精密机床导轨直线度的检查方法有哪些呢&a…

第三节HarmonyOS DevEco Studio了解基本工程目录

一、工程级目录 工程的目录结构如下。 目录详情如下: AppScope:存放应用全局所需要的资源文件。Entry:应用的主模块,存放HarmonyOS应用的代码、资源等。oh_modules:工程的依赖包,存放工程依赖的源文件。b…

Open Feign 源码解析(三) --- 配置体系详解

Open Feign 源码解析三 配置体系 配置类 应用级别配置(全局) Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) Documented Import(FeignClientsRegistrar.class) // 注册feign client的bean定义 public interface EnableFeignClients {…

Python基础语法之学习type()函数

Python基础语法之学习type函数 一、代码二、效果 查看数据类型或者说查看变量存储的数据类型 一、代码 print(type("文本")) print(type(666)) print(type(3.14))二、效果 梦想是生活的指南针,坚持追逐梦想,终将抵达成功的彼岸。不要害怕失败…

Go 数字类型

一、数字类型 1、Golang 数据类型介绍 Go 语言中数据类型分为:基本数据类型和复合数据类型基本数据类型有: 整型、浮点型、布尔型、字符串复合数据类型有: 数组、切片、结构体、函数、map、通道(channel)、接口 2、…

工厂仓库环境监测,完善仓储管理

仓库,是工厂管理运营的重中之重,需创造一个认为的稳定环境,为物品的存放创造条件,对仓储、办公室、楼宇、电子、机械、化工等场合实施监测、管理,提升仓储管理效率及物品品质。 工厂仓储环境监测系统解决方案&#xff…

【leetcode每日一题】565数组嵌套

思路流程: 思路v1.0 先学会写 s[0] ,用一个ans数组接收元素,每次往ans里添加的时候,先判断一下 这个index会不会超出数组的长度。ans里有没有这个元素。 s[0] 写完,就是用一个for循环,算出所有的 s[i],每次算出来的时…

通过亚马逊云科技云存储服务探索云原生应用的威力

文章作者:Libai 欢迎来到我们关于“使用亚马逊云科技云存储服务构建云原生应用”的文章的第一部分。在本文中,我们将深入探讨云原生应用的世界,并探索亚马逊云科技云存储服务在构建和扩展这些应用中的关键作用。 亚马逊云科技开发者社区为开发…

IDEA插件:Apipost-Helper-2.0

我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天就给大家介绍一款IDEA插件:Apipost-Helper-2.0。用它,代码写完直接编辑器内调试、还支持生成接口文档、接口树等功能,并且完全免费!非…

巅峰对决 LlamaIndex 与 OpenAI API大比拼

我们进行了一项详尽的分析,比较了 OpenAI 助手 API 和 LlamaIndex 在 RAG 性能方面的差异。目的是使用Tonic Validate评估各种RAG系统,该系统是一个RAG评估和基准平台,同时使用开源工具tvalmetrics。本文中使用的所有代码和数据都可以在这里找…

Gitee上传代码教程

1. 本地安装git 官网下载太慢,我们也可以使用淘宝镜像下载:CNPM Binaries Mirror 安装成功以后电脑会有Git Bush标识,空白处右键也可查看。 2. 注册gitee账号(略) 3. 创建远程仓库 4. 上传代码 4.1 在项目文件目录…

扩散模型,快速入门和基于python实现的一个简单例子(复制可直接运行)

提示:内容丰富,收藏本文,以免忘记哦 文章目录 一、扩散模型二、一个简单的迭代式扩散模型的例子温度扩散模型python代码实现差分近似模拟拉普拉斯算子 三、扩散模型和深度学习进行结合简介用python和torch的代码实现 四、扩散模型与生成模型第…

Android Bitmap 模糊效果实现 (二)

文章目录 Android Bitmap 模糊效果实现 (二)使用 Vukan 模糊使用 RenderEffect 模糊使用 GLSL 模糊RS、Vukan、RenderEffect、GLSL 效率对比 Android Bitmap 模糊效果实现 (二) 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134656140 最新更新地址 https:/…

Java之API(上):Integer

前言: 这一次内容主要是围绕Java开发中的一些常用类,然后主要是去学习这些类里面的方法。 一、高级API: (1)介绍:API指的是应用程序编程接口,API可以让编程变得更加方便简单。Java也提供了大量API供程序开发者使用&…