iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python变量的知识点分析
  • 882
分享到

Python变量的知识点分析

2023-06-15 03:06:52 882人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章给大家分享的是有关python变量的知识点分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Python变量在大多数语言中,为一个值起一个名字时,把这种行为称为“给变量赋值”或“把值存储在变量中”。不

这篇文章给大家分享的是有关python变量的知识点分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、Python变量

在大多数语言中,为一个值起一个名字时,把这种行为称为“给变量赋值”或“把值存储在变量中”。不过,Python与许多其它计算机语言的有所不同,它并不是把值存储在变量中,而像是把名字“贴”在值的上边(专业一点说法是将名字绑定了对象)。所以,有些Python程序员会说Python没有变量,只有名字,通过名字找到它代表的值。

 Python中的变量,与其它开发语言(如C语言)的不同:

在C语言中,变量类似于一个“容器”,赋给它的值,装在容器中:

定义一个变量 int a = 1;

Python变量的知识点分析

给变量a重新赋值 a = 2;

Python变量的知识点分析

把变量a赋值给另外一个变量b ,int b = a;

Python变量的知识点分析

会重新创建一个变量b(容器),将a中的内容复制粘贴至b中。

在python,变量类似于名字标签“贴”在值上面,通过名字找到它代表的值。

定义一个变量 a = 1

Python变量的知识点分析

给变量a重新赋值 a = 2

Python变量的知识点分析

把变量a赋值给另外一个变量b, b = a

Python变量的知识点分析

创建新的便利贴b,与a同时贴到值上

为了对python中变量的这种情况加深认识,下面适度展开介绍。

1.1 第一点

先说明第一点:变量的实现方式有:引用语义、值语义

python语言中变量的实现方式就是引用语义,在变量里面保存的是值(对象)的引用(值所在处内存空间的地址)。采用这种方式,变量所需的存储空间大小一致,因为其中只需要保存一个引用。而有些语言(例如c)采用的不是这种方式,它们把变量直接保存在变量的存储区里,这种方式就称为值语义。这样的话,一个整数类型的变量就需要保存一个整数所需要的空间(例如c语言中int类型占用4个字节大小)。

python中变量与对象的引用关系类似于c语言的指针变量与指向地址之间的关系。

在python的数据结构中,对象分为可变对象和不可变对象。基本数据类型如int、float,元祖tuple、str是不可变对象;list(列表)、dict(字典)、set(集合)是可变对象,可变对象存储的元素的引用其实是没有改变的,改变的是其引用指向的值。

采用引用语义存储的只是一个变量的值所在的内存地址,而不是这个变量的值本身。

1.2 第二点

现在说明第二点:Python中的变量、对象、引用三者之间的关系。

在Python里一切皆对象。Python中,对象具有三要素:标识(identity)、类型(type)、值(value)。

☆标识(identity):

用于唯一标识对象,通常对应对象在计算机内存中的地址。使用内置函数id(obj)返回对象唯一标识。

☆类型(type):

类型可以限制对象的取值范围和可执行的操作。使用内置函数type(obj)返回对象所属类型。

对象中含有标准的头部信息:类型标识符。标识对象类型,表示对象存储的数据的类型。

每一个对象都有两个标准的头部信息:

类型标识符,去标识对象的(数据)类型;

引用计数器,记录当前对象的引用的数目。

(回收机制:变量的引用计数器为0,自动清理。 ※ 较小整数型对象有缓存机制。)

☆值(value):

表示对象存储的数据的信息。使用内置函数print(obj)可以直接打印值。

Python中,变量用来指向任意的对象,是对象的引用。Python变量更像是指针(或者说Python变量更像“贴签”),而不是数据存储区域(而不是数据“容器”)。

Python 中的变量不是装有对象的“容器”,而是贴在对象上的“标签”——给一个变量赋值,把这个标签贴到一个对象上,重新赋值,是撕下标签贴到另一个对象上。

在python中,变量保存的是对象(值)的引用,采用这种方式,变量的每一次初始化,都开辟了一个新的空间,将新内容的地址赋值给变量。id()函数可以获取变量在内存中的地址。我们把不同的值赋给变量时候,地址发生变化,相同的值地址不发生变化。下面给出示例:

Python变量的知识点分析

【顺便提示:id()的值不是固定不变的——此值系统为对象分配的内存地址,在你练习时显示的不同值是正常的。】

Python变量的知识点分析

下面是字符串的示例:

Python变量的知识点分析

Python变量的知识点分析

在Python中,值可以放在内存的某个位置(地址),变量用于引用它们,给变量赋一个新值,原值不会被新值覆盖,变量只是引用了新值。顺便说明,Python的垃圾回收机制会自动清理不再被用到的值,所以不用担心计算机内存中充满被“丢弃”的无效的值。

1.3 第三点

现在说明第三点:可变(mutable) 类型对象、不可变(immutable) 类型对象

可变类型对象,指对象可以在其 id() 保持固定的情况下改变其取值。

不可变类型对象,指具有固定值的对象。不可变对象包括数字(numbers)、字符串(strings)和元组(tuples)。这样的对象不能被改变。如果必须存储一个不同的值,则必须创建新的对象。不可变对象不允许对自身内容进行修改。如果我们对一个不可变对象进行赋值,实际上是生成一个新对象,再让变量指向这个对象。哪怕这个对象简单到只是数字 0 和 1。

由于 Python 中的变量存放的是对象引用,所以对于不可变对象而言,尽管对象本身不可变,但变量的对象引用是可变的。运用这样的机制,有时候会让人产生糊涂,似乎可变对象变化了。如下面的代码:

i = 73 

i += 2

不可变的对象的特征没有变,依然是不可变对象,变的只是创建了新对象,改变了变量的对象引用。参见下图:

Python变量的知识点分析

对于可变对象,其对象的内容是可以变化的。当对象的内容发生变化时,变量的对象引用是不会变化的。如下面的例子。

m=[5,9] 

m+=[6]

参见下图:

Python变量的知识点分析

二、总结

Python变量指的是名字绑定了对象(绑定就是将一个对象与一个名字联系起来)。

绑定时,变量就是名字。

使用时,变量代表对象的引用。

变量改变的只有绑定关系。

深入学习:

https://docs.python.org/zh-cn/3.9/reference/datamodel.html#objects-values-and-types

补充说明:

对复杂的数据类型(列表、集合、字典),如果添加某一项元素,或者添加几个元素,不会改变其本身的地址,只会改变其内部元素的地址引用,但是如果对其重新赋值时,就会重新赋予地址覆盖就地址,这时地址就会发生改变。示例代码如下:

list_ = [1,2,3,4]print(list_, id(list_))list_.append(5)print(list_, id(list_))#如上代码,因为append前后的list_仍然是同一个对象,只是对象的值发了改变,所以地址不变。 #再如下面的代码print(list_, id(list_), id(list_[1]))#打印列表、列表的地址、第二个元素的地址list_[1] = 'aaa'   #修改列表print(list_, id(list_), id(list_[1]))#打印列表、列表的地址、第二个元素的地址#不难发发现:列表变了、列表的地址没有变、列表内部元素变了、列表内部元素的地址变了

测试运行如下图所示:

Python变量的知识点分析

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

感谢各位的阅读!关于“Python变量的知识点分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Python变量的知识点分析

本文链接: https://www.lsjlt.com/news/277079.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python变量的知识点分析
    这篇文章给大家分享的是有关Python变量的知识点分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Python变量在大多数语言中,为一个值起一个名字时,把这种行为称为“给变量赋值”或“把值存储在变量中”。不...
    99+
    2023-06-15
  • Python基础知识点分析
    本篇内容介绍了“Python基础知识点分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python简介Python的历史1989年圣诞节:...
    99+
    2023-06-02
  • python整数和变量的知识点整理
    这篇文章主要讲解了“python整数和变量的知识点整理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python整数和变量的知识点整理”吧!1.整数Python可以处理任意大小的整数,当然包...
    99+
    2023-06-04
  • Hibernate知识点分析
    这篇文章主要讲解了“Hibernate知识点分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate知识点分析”吧!1.避免使用工具来自动生成你的模型没错,这些工具的使用可以节约...
    99+
    2023-06-17
  • Python整数和变量的知识点有哪些
    这篇文章主要介绍“Python整数和变量的知识点有哪些”,在日常操作中,相信很多人在Python整数和变量的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python整数和变量的知识点有哪些”的疑...
    99+
    2023-06-27
  • Python基础知识点的示例分析
    这篇文章给大家分享的是有关Python基础知识点的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、python中的标志符:给变量取的名字就是标志符区分大小写,MyName和myname是两个不同的标志符...
    99+
    2023-06-29
  • Python变量基础知识
    目录1.什么是变量2.变量的命名规则3.python中的关键字和保留字4.常用的变量名5.变量的赋值6.变量的数据类型6.1.数字6.2.布尔类型6.3.字符串6.4.type()函...
    99+
    2024-04-02
  • python中pandas的知识点的示例分析
    这篇文章主要介绍python中pandas的知识点的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和f...
    99+
    2023-06-14
  • Python变量和字符串的知识点有哪些
    这篇文章主要介绍了Python变量和字符串的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python变量和字符串的知识点有哪些文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • C++ Primer变量的知识点有哪些
    这篇文章主要介绍“C++ Primer变量的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++ Primer变量的知识点有哪些”文章能帮助大家解决问题。变量的定义形式一般为:类型说明符...
    99+
    2023-06-26
  • 总结Python变量的相关知识
    一、变量的定义 程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后,给整个数据定义一个名称,这个名称就是变量。 变量就是在存储数据...
    99+
    2024-04-02
  • JavaScript基础知识点分析
    这篇“JavaScript基础知识点分析”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“JavaScript基础知识点分析”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获...
    99+
    2023-06-06
  • MySQL索引知识点分析
    这篇文章主要介绍“MySQL索引知识点分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL索引知识点分析”文章能帮助大家解决问题。1索引的概念1.1定义索引在关系型数据库中,是一种单独的、物...
    99+
    2023-07-02
  • JavaScript的变量基础知识点有哪些
    这篇文章给大家分享的是有关JavaScript的变量基础知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。变量1.1 变量的概念:变量是指程序中一个已经命名的储存单位,它...
    99+
    2024-04-02
  • 关于CSS变量的知识点有哪些
    这篇文章主要介绍关于CSS变量的知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css的全称是什么css的全称是Cascading Style Sheets(层叠样式表),它是一种用来表现HTML或XML等...
    99+
    2023-06-15
  • mysql事务知识点分析
    这篇文章主要讲解了“mysql事务知识点分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql事务知识点分析”吧!1.  事务1.1.&n...
    99+
    2024-04-02
  • Python编码规范知识点实例分析
    这篇文章主要讲解了“Python编码规范知识点实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python编码规范知识点实例分析”吧!1 代码编码格式一般来说,声明编码格式在脚本中是必...
    99+
    2023-07-02
  • Python入门基础知识点实例分析
    这篇文章主要介绍“Python入门基础知识点实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python入门基础知识点实例分析”文章能帮助大家解决问题。标识符在 Python 中,所有标识符可...
    99+
    2023-07-04
  • Python基础知识之变量的详解
    目录一.定义二.命名方法2.1小驼峰命名法2.2大驼峰命名法2.3下划线命名法三.命名规则3.1标识符3.2关键字四.使用方法4.1单变量赋值:4.2底层逻辑:4.3总结:5.变量进...
    99+
    2024-04-02
  • R语言关于变量的知识点总结
    变量为我们提供了我们的程序可以操作的命名存储。 R语言中的变量可以存储原子向量,原子向量组或许多Robject的组合。 有效的变量名称由字母,数字和点或下划线字符组成。 变量名以字母...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作