iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >000-Python常量与变量
  • 449
分享到

000-Python常量与变量

常量变量Python 2023-01-31 02:01:28 449人浏览 泡泡鱼

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

摘要

python常量与变量昨天的文章虽然有插图,但是一个都没有显示出来,估计是天气太热,不愿意露面的缘故吧。这些都不是事,暂且不表,今天再次发布与昨天相同的文章,主要为了弥补3个插图。为了有更好的排版体验及阅读效果,小白还专门购买了Pro版的M

python常量与变量

昨天的文章虽然有插图,但是一个都没有显示出来,估计是天气太热,不愿意露面的缘故吧。这些都不是事,暂且不表,今天再次发布与昨天相同的文章,主要为了弥补3个插图。为了有更好的排版体验及阅读效果,小白还专门购买了Pro版的MarkEditor及使用了七牛云服务(小白也是够狠的,下了血本了)。

Python是一门强类型的动态语言。

字面常量,变量没有类型,变量只是在特定的时间指向特定的对象而已,变量所指向的对象是有类型的。

变量:变量在赋值时被创建,它可以是任何对象的引用,但必须在引用前被赋值。

举例来说:当我们如下赋值时:

>>> a = 3 # 给一个对象3赋予变量a

对于上面的赋值,Python将会明确的执行3个步骤来响应这个语句:

  1. 创建一个对象代表值3;

  2. 如果不存在变量a,就创建变量a;

  3. 把变量a与新创建的对象3关联。

变量随着赋值操作出现的。变量和对象是被存储在不同的内存空间中的。变量与对象通过指针相关联。变量永远指向对象且永不指向变量。随着赋值a = 3语句的执行,变量a就变成了对象3的一个引用。

变量与对象之间的链接在Python中称之为引用。也就是说,一个引用也就是一种关联,在内存中以指针的形式实现。

变量、对象与引用的区别:
+ 变量 是Python解释器系统表中的一些条目, 它们是用来指向对象的。
+ 对象 是一些列的被分配的内存, 有足够的空间存储与之相关的数据类型。
+ 引用 自动地跟随在变量与对象之间。

对象才有类型, 而变量没有。一个例子:

>>> a = 3 # a是一个整型数据 
>>> a = 'spam' # 现在是一个字符串了 
>>> a = 1.23 # 现在是一个浮点数了

在Python中,事情工作的很简单,再次强调:Names没有类型;只有对象有类型,而不是变量。

变量的命名规则:

  1. 只能包含字母、数字和下划线

  2. 只能以字母或下划线开头

  3. 不能是Python解释器的保留字

共享引用

接下来我们看两个变量同时指向一个对象的情况:

>>> a = 3 
>>> b = a

赋值完毕,它们在内存中的图解为:

现在,假设我们再进行如下的赋值语句:

>>> a = 3 
>>> b = a 
>>> a = 'spam'

现在变量a指向的对象spam。然而变量b却依然指向对象3。赋值意味着创建了新的对象。上面三句语句在内存中的图解为:

共享引用与原地改变

接下来要看的是有一些对象会进行原地改变,那就是Python的可变对象,包括列表,字典及集合。对于一个支持原地改变的对象,我们需要知道共享引用,如果一个改变会影响其他的对象。还是看个例子吧:

>>> L1 = [2, 3, 4] 
>>> L2 = L1

L1是一个列表且包含2、3、4三个对象。列表中的元素通过它们的位置进行访问,所以L1[0]指向对象2,它是列表L1的第一个对象。当然列表也是一个对象,就像其他的整数与字符串。当进行上面的两个赋值后,L1与L2都指向了同一个共享的对象。

现在,我们进行如下的赋值:

>>> L1 = 24

这个赋值语句简单地把L1指向了不同的对象;L2依然指向原来的列表。接下来我们进行一些改变:

>>> L1 = [2, 3, 4] # 一个可变的对象 
>>> L2 = L1        # L2与L1指向了同样的对象 
>>> L1[0] = 24     # 一个原地改变的操作 
>>> L1             # L1已经改变了 
[24, 3, 4] 
>>> L2             # L2也是与L1相同 
[24, 3, 4]

上面的例子中,我们并没有改变L1对象本身,只是改变了L1中的一个对象。这种原地改变的操作的情况只出现在可变对象中。举个字典的例子:

>>> d1 = {'a': 1, 'b': 2} 
>>> d2 = d1 
>>> d1 {'b': 2, 'a': 1} 
>>> d2 {'b': 2, 'a': 1} 
>>> d1['a'] = 'a' 
>>> d2 {'b': 2, 'a': 'a'}

我们可以使用copy的方法:

>>> L1 = [2, 3, 4] 
>>> L2 = L1[:]  # 制作L1的拷贝 
>>> L1[0] = 24 
>>> L1 [24, 3, 4] 
>>> L2          # L2并没有改变 [2, 3, 4]

通过上面的例子我们发现,L1的改变并没有影响L2,L2只是引用了L1的一份拷贝,并不是原来的L1自身,也就说,L1与L2指向了两个不同的内存空间。

接下来谈论另外一个话题,Python会缓存小的整数及小的字符串。举个例子吧:

>>> L = [1, 2, 3] 
>>> M = L      # M与L指向相同的对象 
>>> L == M     # 具有相同的值 
True 
>>> L is M     # 依然相同 
True 
>>> id(L) 
4338913608 
>>> id(M) 
4338913608

通过上面的例子,==判断两个引用的对象是否有相同的值;第二个操作符is是用来判断对象id的,只有两个names指向相同的对象,is==判断对象是否相同更强壮。is只是简单地比较两个对象的指针。再看一个例子:

>>> L = [1, 2, 3] 
>>> M = [1, 2, 3] # M与L指向不同的对象(赋值意味着产生新的对象) 
>>> L == M        # 具有相同的值 
True 
>>> L is M        # 但是是不同的对象 
False 
>>> id(L) 
4338913480 
>>> id(M) 
4338915208

接下来呢,我们看看对于小数字的操作是否不符合上面的预期:

>>> X = 42 
>>> Y = 42  # X与Y应该是两个不同的对象 
>>> id(X) 
4297547872 
>>> id(Y) 
4297547872 
>>> X == Y 
True 
>>> X is Y # but anyhow: 是缓存在作祟! 
True 
# 使用个大的数字呢? 
>>> X = 1234567 
>>> Y = 1234567 
>>> X == Y 
True 
>>> X is Y 
False 
>>> id(X) 
4336930640 
>>> id(Y) 
4338529328

今天的文章中遇到了列表及字典,大家不用担心,现在大家不知道或不清楚怎么使用都是没有问题的,后续会继续有相应的文章呈现。

今天就给大家介绍到这里,明天会接续讲解运算符与表达式。

--结束END--

本文标题: 000-Python常量与变量

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

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

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

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

下载Word文档
猜你喜欢
  • 000-Python常量与变量
    python常量与变量昨天的文章虽然有插图,但是一个都没有显示出来,估计是天气太热,不愿意露面的缘故吧。这些都不是事,暂且不表,今天再次发布与昨天相同的文章,主要为了弥补3个插图。为了有更好的排版体验及阅读效果,小白还专门购买了Pro版的M...
    99+
    2023-01-31
    常量 变量 Python
  • Python变量与常量
    1、什么是变量 a=1,其中 a 就是变量名称,1 就是它的值。在程序运行过程中,变量的值一般都会发生改变,内存中会专门开辟一段空间,用来存放变量的值,而变量名将指向这个值所在的内存空间。与变量相对的就是常量,在程序运行过程中,常量的值不会...
    99+
    2023-01-31
    常量 变量 Python
  • python之变量与常量
    变量:把程序运行过程中产生的值,暂时存储在内存,方便后面的程序调用. 被引号括起来的内容是字符串,原样输出.#单行注释 用来标注代码信息,特点:被注释的内容不会被执行.Ctrl + /'''内容''' ->多行注释"""内容"""...
    99+
    2023-01-30
    常量 变量 python
  • Python中的变量与常量
    目录一、变量、常量的区别二、变量1. Python中的变量不需要声明类型2. 用“=”号来给变量赋值3. 赋值4. 变量5. “=”6. Python允许同时为多个变量赋值三、常量四...
    99+
    2022-11-12
  • 深入理解Python变量与常量
    变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。常量是一块只读的内存区域,常量一旦被初始化就不能被改变。...
    99+
    2022-06-04
    常量 变量 Python
  • Java的变量与常量
      目录 变量 声明变量 变量的声明类型 变量的声明方式:变量名 变量名的标识符 初始化变量 常量 关键字final 类常量 总结 变量和常量都是用来存储值和数据的基本数据类型存储方式,但二者之间有一些关键差别。 变量 在Java中,每个变...
    99+
    2023-09-03
    java
  • Python中的变量与常量是什么
    这篇文章将为大家详细讲解有关Python中的变量与常量是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、变量、常量的区别变量:在程序运行过程中,值会发生变化的量。常量:在程序运行过程中...
    99+
    2023-06-25
  • python常量和变量
    1.1 常量 常量是内存中用于保存固定值的单元,在程序中常量的值不能发生改变;python并没有命名常量,也就是说不能像C语言那样给常量起一个名字。 python常量包括:数字、字符串、布尔值、空值; 一般所有字母大写   例子   1...
    99+
    2023-01-30
    常量 变量 python
  • 变量/常量
    变量的定义把程序运行的中间结果临时的存在内存里,以便后续的代码调用。 变量的作用1.用来存储信息,以便代码调用。2.描述的作用。 变量定义规则1.字母、数字或下划线的任意组合;中横线被视为减号,也不能使用。2.变量名的第一个字符不能是数字...
    99+
    2023-01-30
    常量 变量
  • 详解Rust中的变量与常量
    目录变量与可变性常量变量隐藏属性Rust 是一种低级静态类型多范式编程语言,专注于安全性和性能,解决了 C/C++ 长期以来一直在努力解决的问题,例如内存错误和构建并发程序。它具有以...
    99+
    2022-11-13
    Rust变量与常量 Rust变量
  • Python中可变变量与不可变变量详解
    目录一 、常见的变量分类1、变量的创建二、变量分类1、、常见的不可变变量2、常见的可变变量三、拷贝的差别四、参数传递的差别前言: C++不同于Python的显著特点,就是有指针和引用...
    99+
    2022-11-12
  • python的变量以及常量介绍
    变量概念: 把程序运行过程中产生的中间值保存在内存. 方便后面使用.    命名规范:   1. 数字, 字母, 下划线组成   2. 不能数字开头, 更不能是纯数字   3. 不能用关键字   4. 不要用中文  ...
    99+
    2023-01-30
    常量 变量 python
  • 初识C++的const关键字,常量与常变量
    目录C语言的const1.const关键字2.const修饰的只读变量3.节省空间,避免不必要的内存分配,同时提高效率4.使用cosnt修饰4.1修饰一般变量4.2修饰数组4.3修饰...
    99+
    2022-11-13
  • Golang中变量与常量怎么声明与使用
    这篇文章主要介绍“Golang中变量与常量怎么声明与使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Golang中变量与常量怎么声明与使用”文章能帮助大家解决问题。变量变量的类型变量的作用是用来存...
    99+
    2023-07-05
  • Go 语言的变量与常量的概念
    本篇内容主要讲解“Go 语言的变量与常量的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go 语言的变量与常量的概念”吧!变量go 语言的变量声明和大多数语言类似,通过 var 关键字声明变...
    99+
    2023-06-15
  • php中变量与常量有哪些区别
    这篇文章给大家分享的是有关php中变量与常量有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。区别:1、常量只能用define()函数或const关键字定义;而变量没有定义的关键字或函数,在赋值的时候被定义...
    99+
    2023-06-25
  • 浅析Golang中变量与常量的声明与使用
    目录变量变量的类型声明变量常量iota常见的使用iota的技巧变量 变量的类型 变量的作用是用来存储数据,不同的变量保存的数据类型有可能是不一样的,一般常见的数据类型有:整型、浮点型...
    99+
    2023-05-14
    Golang变量与常量声明 Golang变量 常量 Go 变量 常量
  • Go语言变量与常量如何声明与使用
    本文小编为大家详细介绍“Go语言变量与常量如何声明与使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Go语言变量与常量如何声明与使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。变量什么是变量?变量是一块可以...
    99+
    2023-07-05
  • php中变量与常量的区别是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑什么是php常量?所谓常量就是不能改变的量,PHP 中常量一旦被定义,就不能被修改或取消定义。PHP 常量通常用来存储一个不被改变也不希望变化的数据,该数据只能是四种标...
    99+
    2022-03-30
    php 变量 常量
  • C语言零基础精通变量与常量
    目录1.变量和常量的概念2.变量的类型3.变量的分类4.变量的使用5.变量的作用域和生命周期6.常量的分类1.变量和常量的概念 生活中的一些数据有些数据不能变:血型、性别、圆周率。有...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作