网站首页 > 技术文章 正文
最近学习Pyhon,联想到之前学习的Java、SQL时,有些新体会,在此聊一聊。
Python中一个知识点:变量和对象。变量指向对象,或者说变量就是对象的名字,类似SQL中的AS。
Python中另一个知识点:可变对象和不可变对象。可变对象修改时,会影响它的所有变量;不可变对象不可修改,当从变量角度修改时,会创建一个新的对象,然后将变量指向新对象。
在本文中:
- 变量=变量名=对象别名
- 值=对象
知识
变量可以指向一个对象。
多个变量可以指向同一个对象。
变量可以被重新赋值。
变量之间的赋值,从来都不会复制数据,只是将变量和对象联系起来。
不可变对象无法修改,从变量角度修改时,实际是创建了一个新对象。
可变对象的修改,会影响所有指向它的变量。
列表中元素引用(例如nums[1]),本质都是变量。
Python 是动态类型的,变量没有类型。任何变量在任何时候都可以引用任何值。变量可以引用一个整数,然后引用一个字符串,然后引用一个函数,然后引用一个模块。
正如变量没有类型一样,值也没有作用域。当我们说函数有局部变量时,我们的意思是该变量的作用域为该函数:您不能在函数外部使用该变量,并且当函数返回时,该变量将被销毁。如果变量的值有其他引用,它将在函数调用之外继续存在。
案例
将列表[1, 2, 3] 修改为 [10, 20, 30]。可能会这么写:
以上代码不起作用。因为在第一次迭代中,x 是nums[0]的值的别名。正如之前介绍的,当您有两个变量指向同一个值且值是不可变对象的时候,修改其中一个变量,另一个变量不会更改。回到这个案例,第一次迭代中,for循环中x指向1,1属于数字类型、不可变对象。循环体内,修改x时,会创建一个10,然后x指向10,但 nums[0] 仍然指向旧值 1。
最好的建议是避免改变列表,而是创建新列表:nums = [ 10*x for x in nums ]
猜你喜欢
- 2025-06-08 Python函数中的全局变量与局部变量
- 2025-06-08 了解 Python 变量:什么是可变的,什么是不可变的?
- 2025-06-08 一文读懂Python中的全局变量局部变量和作用域
- 2025-06-08 python的变量,变量赋值的一些规范
- 2025-06-08 变量:Python里的“容器”一般人可看不懂
- 2025-06-08 Python 变量和数据类型(python中变量类型可以变吗)
- 2025-06-08 精通 Python 中的实例变量:入门指南
- 2025-06-08 C++和python的变量对比(c c++ python区别)
- 2025-06-08 Python零基础小白入门须知变量与常量区别详解
- 2025-06-08 Python-变量、函数、模块、包(python变量有什么用)
- 265℃Python短文,Python中的嵌套条件语句(六)
- 264℃python笔记:for循环嵌套。end=""的作用,图形打印
- 263℃PythonNet:实现Python与.Net代码相互调用!
- 257℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 257℃Python实现字符串小写转大写并写入文件
- 117℃原来2025是完美的平方年,一起探索六种平方的算吧
- 97℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 90℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- 金母鸡量化教学场:pandas—数据挖掘的Python库
- 分享一个用于商业决策数据挖掘的python案例
- Python图像识别实战(二):批量图像读取和像素转换(附源码)
- 从小白到大神,这10个超实用的 Python 编程技巧不可少
- 太震撼!527页战略级Python机器学习实战,实用度碾压群书!附PDF
- 一篇文章带你解析Python进程(一篇文章带你解析python进程怎么写)
- 大数据分析师如何进行数据挖掘?大数据分析师丨 2025 年报考攻略
- UG编程第34节:浅谈机床坐标系(ug编程机床坐标系细节)
- 想入门Python?先狠下心来死磕这7个方向
- Python大屏看板最全教程之Pyecharts图表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)