Python学习(1)--变量与表达式

简介: Python学习(1)--变量与表达式 1.python中变量在内存中与java的区别 在python中当变量的内容发生改变时,python会在内存中重新开辟一个区域存储这个内容;而在java中变量指向内存中的一片区域,当变量内容发生改变时,只是当前值覆盖掉其在内存中原来的值,并不会重新开辟出另一片内存来存储当前值.

Python学习(1)--变量与表达式

1.python中变量在内存中与java的区别

在python中当变量的内容发生改变时,python会在内存中重新开辟一个区域存储这个内容;而在java中变量指向内存中的一片区域,当变量内容发生改变时,只是当前值覆盖掉其在内存中原来的值,并不会重新开辟出另一片内存来存储当前值.以下是python代码来证明以上所述:

[python] view plain copy

  1. a=123
  2. print(id(a))
  3. a=456
  4. print(id(a))

运行结果如下:

id是变量在内存中的地址,通过打印id,可以发现,当变量的值发生改变时,其在内存中的地址也相应改变,这说明python为变量a重新开辟出了一块内存存储改变后的值。

在python中两个不同的变量,当他们的值相同时,保守的说,两个变量所指向的地址空间很有可能是一样的;而在java中两个不同的变量,即使是内容相同,java也会开辟出两个不同的内存区域来存储这两个变量.以下是python代码:

[python] view plain copy

  1. a=123;b=123
  2. print(id(a));print(id(b))

以下是运行结果:


可以发现变量a和变量b是完全两个不同的变量,但是变量a和变量b的内容是相同的,打印id发现他们在内存中存储在同一片区域,从而证明了以上所述。

原文地址http://www.bieryun.com/2273.html

 

相关文章
|
1天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
1天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
2天前
|
存储 Python
Python变量类型
Python变量类型
8 0
|
2天前
|
存储 Python
Python的变量与数据类型详解
Python的变量与数据类型详解
11 0
|
8天前
|
索引 Python
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
10 0
|
8天前
|
开发者 索引 Python
Python中的海象运算符:简洁而强大的赋值表达式
【4月更文挑战第17天】Python 3.8 引入了海象运算符 `:=`,也称赋值表达式运算符,用于在表达式内部赋值,简化代码并提升可读性。它能用于条件判断、循环控制和函数参数等场景,优化逻辑流程。然而,使用时需注意可读性、运算符优先级及赋值限制,以确保代码清晰易懂。海象运算符是Python编程的一个有用工具,但应根据情况谨慎使用。
|
9天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
18 0