赋值语句 变量的地址相关 : RUNOOB python练习题7

lambda函数 RUNOOB python练习题49 python lambda函数的应用 阅读详情

用来练手的python 练习题,原链接 : python练习实例7

练习实例7非常的简单也有意思。题干 : 将一个列表的数据复制到另一个列表中。

完成这个操作的代码非常简单,即使是我这样的初学者应该也是一语道破,赋值语句嘛。但这里我们就列举出几种不同的赋值方法,其背后的逻辑和细节其实是大不相同的。

下面放出源代码,首先当然是使用我们的赋值语句进行数据复制了,这里我使用的是numpy array代替list :

import numpy as np
a = np.array([1,2,3,4,5])
c = a
print(c)
print(a)
print(c is a)
print(id(c))
print(id(a))

输出结果如下 :
在这里插入图片描述
我们不难发现,当我们使用赋值语句 “=” 直接对numpy 矩阵进行复制时,实际我们是让c与a指向了同一块内存。a和c不仅数值一致,他们在内存中对应的地址也是一样的。那么我们对a进行一些操作,看看会有什么发生呢:

a -= 1
print(a)
print(c)
print(c is a)
print(id(a))
print(id(c))

这里我们对a进行自增(自增和自减操作一样),输出结果如下:
在这里插入图片描述
我们发现,当对变量进行自增或自减操作时,变量的地址并没有改变,相应的,两个指向同一内存块的变量a和c的值当然同时改变了。

那么如果我们对a进行减法运算会发生什么呢,代码如下:

a = a - 1
print(a)
print(c)
print(c is a)
print(id(a))
print(id(c))

这次我们对矩阵a进行减法运算,输出结果如下:
在这里插入图片描述
不难发现,当我们运算 a = a − 1 a =a -1 a=a−1时,python为新的变量a重新分配了内存,自然而然地,a矩阵和c矩阵就不再对应同一个内存地址了。

我们尝试了使用赋值语句进行复制,那么如果我们使用np.copy()方法会怎么样呢?
源代码如下:

f = np.copy(a)
print(f)
print(a)
print(a is f)
print(id(a))
print(id(f))

输出结果如下:
在这里插入图片描述
我们发现,使用copy方法进行复制时,仅仅只是对数值的复制,Python会为变量重新分配内存,而不会像赋值语句一样使两个变量公用同一块内存空间。

使用下述代码也可以实现copy一样的作用,只复制数值,而不改变变量的地址:

g = a[:]
print(g)
print(a)
print(a is g)
print(id(a))
print(id(g))

输出结果:
在这里插入图片描述

RUNOOB python练习题3 用来练手的python 练习题,原链接 : python练习实例3 拿到题目就写了如下代码,思路是因为使用**0.5进行开平方操作时,python会将数据类型自动转换为float单精度浮点型。这里利用提取其整数部分,来判断这个数是否是完全平方数。 z = 13 while (z**2 - 168)**0.5 != int((z**2 - 168)**0.5): z+=1 x = z**2-268 print(x) 输出结果 : 这个代码问题也很明显,没有办法穷举而只能找出最小的x的值。为了穷 阅读详情

相关推荐

&符号 RUNOOB python练习题 51

&符号进行逐位逻辑运算

Cy_coding的博客 318

在python中赋值后变量地址_Python学习:解析变量赋值及数据存放地址

Python会将数值如1、2、3、4预先存放在固定地址的内存中,在将数值赋值给变量时,并不给变量申请内存空间,只是给变量一个内存地址的指向(类似C的指针),变量变化时,也只改动变量的指向,如:x=12y=13printx,id(x)printy,id(y)y=xprinty,id(y)x=24y=25printx,id(x)printy,id(y)输出为>>...

weixin_30378963的博客 2190

Python经典练习题

经典例题,熟练Python。

Python 考试练习题 2

8、类方法不需要与实例绑定,需要与类绑定,定义时它的第一个参数不是 self,而是类的 type 实例,type 是描述 python 数据类型的类,python 中所有数据类型都是 type 的一个实例。7、在一个应用程序中定义 a=[1,2,3,4,5,6,7,8,9,10],为了打印输出列表后 a 的最后一个元。7、已知 x = {1:2},那么执行语句 x[2] = 3 之后,x 的值为___{1:2,2:3}_。表达式为:(1)16>>2,(2)16/24,(3)16*4,(4)16

JYHZZ的博客 5919

从QEvent到系统响应:EC如何成为硬件事件的隐形信使

本文深入解析嵌入式控制器(EC)如何作为硬件事件的隐形信使,通过QEvent机制将按键、合盖等物理事件转换为SCI信号,并经由ACPI架构触发操作系统响应。EC与BIOS紧密协作,实现了从底层硬件到系统层面的高效事件传递,是嵌入式开发和系统优化的关键技术。

yellow的专栏 651

Gemini 2.5 Pro国内免魔法直连教程:5分钟搞定专业级PPT图表(附折线图/柱状图案例)

本文详细介绍了如何利用Gemini 2.5 Pro快速生成专业级PPT图表,包括折线图和柱状图等常见商业图表。通过自然语言交互和智能图表生成功能,用户可以在5分钟内完成数据可视化,大幅提升工作效率。文章还提供了实战案例和高级技巧,帮助用户轻松应对各种商业场景需求。

weixin_30733003的博客 460

python 语法基础练习题

1. 分别解释"=","==","+="的含义(口述) =为赋值语句,把一个变量值赋予另一个值 == 为条件判断,判断两个值是否相等 += 为赋值 a+=1 意思就是a=a+1 2.两个变量值的关系?(口述)  n1 = 123456  n2 = n1 将123456赋予n1, 然后将n1赋予n2, 意思就是n1 n2指向123456这个地址 3....

weixin_30861797的博客 761

宝马项目化流程标准(BMW ABC flyer requirement)

宝马项目化流程标准(BMW ABC flyer requirement)

于大博 7254

python的赋值运算

pytho的赋值运算

张海涛的专栏 459

伪距单点定位算法原理以及利用最小二乘法计算实例

即该公式:建立下列代价函数满足最佳估值的条件为:即:可解得未知参数 X 的最佳估值由于每个可见卫星观测量的精度可能不一样,这时,需要对不同观测量赋予一个权重系数,称为加权。

qq_43381998的博客 1万+

Jetson工业级应用指南:用Orin NX 16GB打造多摄像头AI质检系统

本文详细介绍了如何利用NVIDIA Jetson Orin NX 16GB构建高效的多摄像头AI质检系统,涵盖硬件选型、软件优化及产线部署全流程。通过100 TOPS的AI算力和多路视频处理能力,Orin NX在工业4.0时代展现出卓越的实时缺陷检测性能,特别适合嵌入式AI应用场景。

Pepper的专栏 308

天池Python练习01-运算符 变量和赋值

1.注释 1.1单行注释--‘#’号 1.2多行注释--‘ ' ’号或‘ " ’ 2.运算符 2.1算数运算符 2.2比较运算符 2.3逻辑运算符 2.3三元运算符 2.4其他运算符 3.变量和赋值 3.1数据类型 3.2类型转换 3.3print()函数

StrawBerryTreea的博客 966

2025.06.24【R语言】|clusterProfiler安装与常见报错FAQ全解

本文介绍了clusterProfiler工具的安装方法及常见报错解决方案。安装可通过Bioconductor或Conda完成,需注意安装配套注释包。文中列举了10种常见报错,包括依赖包缺失、ID类型不匹配、物种不支持等问题,并给出具体解决方法。最后总结了GO/KEGG富集分析的标准流程,包括ID转换、富集分析和可视化步骤,为生物信息学分析提供实用参考。建议使用R≥4.2版本,并确保正确调用BiocManager进行安装。

5996

RUNOOB python练习题47 交换两个变量值

python交换两个变量值的函数

Cy_coding的博客 551

基于未来出行解决方案的场景实例:城市空中交通(UAM)的飞行路径规划与避障

本文介绍了使用Simulink进行城市空中交通(UAM)飞行路径规划与避障的仿真方法。主要内容包括:1)UAM系统架构与核心挑战;2)详细建模步骤,从城市3D环境构建到飞行器动力学模拟;3)全局路径规划(A*/RRT*)和局部避障(DWA/APF)算法实现;4)多机协同与冲突解决;5)关键场景仿真与性能评估;6)高级功能拓展方向。通过Simulink的数字孪生系统,可有效验证UAM在复杂城市环境中的可行性,为未来立体交通发展提供技术支撑。

xiaoheshang_123的博客 258

【学习系列】SAP RAP 4:通过注解来完成一些常规需求

本文介绍了RAP应用中常用注解的实现方式,包括搜索帮助、文本描述绑定、联动搜索、字段控制等功能。通过@Consumption、@UI等注解可以实现搜索帮助定义、多字段联动、必输校验、默认排序和默认值设置。管理字段可通过@Semantics注解自动记录创建/修改信息,长文本使用@UI.multiLineText实现多行显示。这些注解可优化界面交互和数据管理,为后续行为定义功能开发奠定基础。文章结构清晰,针对不同需求提供了具体的实现方案和代码示例。

DeveloperMrMeng的博客 699

runoob python3_Runoob-Python3:Python3 基本数据类型

Python3 基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:实例(Python 3.0+)#!/usr/bin/python3counte...

weixin_39757169的博客 510

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python3 基础语法- runoob

人工智能之python基础

weixin_44821345的博客 997

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python 基础语法(runoob)

多行语句 可使用反斜杠()来实现多行语句: total = item_one + \ item_two + \ item_three 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠() 数字(Number)类型 int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。 bool (布尔), 如 True。 float (浮点数), 如 1.23、3E-2 complex (复数), 如 1 + 2j、 1.1

Manjusaka_ywang的博客 4633

https://www.runoob.com/python/python-variable-types.html

https://www.runoob.com/python/python-variable-types.html 转载于:https://www.cnblogs.com/jingdenghuakai/p/10893868.html

weixin_30783913的博客 608

python中lambda函数的计算题_Lambda函数runoob Python练习49,lambda,RUNOOBpython,练习题

用来练手的python练习题,原题链接python练习实例49该练习题主要是关于lambda函数的使用方法,本文就python中的lambda函数做出一点总结。1. lambda函数的定义与调用在python中,我们都知道使用def关键词来定义一个函数, 例如一个最简单的,返回值是他的参数的函数identity,如下所示:def identity(x):return x使用lambda可以只用一行...

weixin_28737603的博客 745

Python学习笔记11(RUNOOB)

Python3 函数定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的retur...

weixin_42385291的博客 988

从Runoob的Django教程学到的

Windows 10家庭中文版,Python 3.6.4,Django 2.0.3 这个月开始学习Django,从网上找到了RUNOOB.COM网站找到了一份Django教程,在“认真”学习之后,初步 了解了怎么使用Django搭建一个简单的Web应用。 说明: 此教程讲解了建立Django项目的一些基本操作,并给除了简单的示例程序,再需要更多学习内容的时候,还是得访问...

aimianwo1708的博客 460

RUNOOB python 67 数组的元素互换

python 交换数组元素

Cy_coding的博客 1115

Python3复习笔记-runoob

文章目录基础保留字注释代码换行多行代码写在一行import数据类型变量NumberstringList,TupleSetDictionary逻辑运算符数据类型操作NumberStringList,Tuple,DictionarySet流程控制ifwhileforiterenumeratezip字典遍历函数自定义函数匿名函数return 基础 保留字 >>> import keyword >>> keyword.kwlist 注释 # 单行注释 '''多 行 注 释 ''

但老师 1360

Python_Runoob

python复合赋值 # Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a, b = 0, 1 while b < 10: print(b) a, b = b, a+b   第一行包含了一个复合赋值,最后一行再次使用复合赋值,右边的表达式会在赋值变动之前执行。 end关键字 end会将结果输出到同一行,或者在输出...

weixin_30617797的博客 206
上一篇: RUNOOB python练习题6 斐波那契数列
下一篇: RUNOOB python练习题8 numpy矩阵的索引及遍历
Cy_coding
博客等级 码龄7年 49粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值