广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python变量与常量
  • 435
分享到

Python变量与常量

常量变量Python 2023-01-31 07:01:00 435人浏览 泡泡鱼

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

摘要

1、什么是变量 a=1,其中 a 就是变量名称,1 就是它的值。在程序运行过程中,变量的值一般都会发生改变,内存中会专门开辟一段空间,用来存放变量的值,而变量名将指向这个值所在的内存空间。与变量相对的就是常量,在程序运行过程中,常量的值不会

1、什么是变量

a=1,其中 a 就是变量名称,1 就是它的值。在程序运行过程中,变量的值一般都会发生改变,内存中会专门开辟一段空间,用来存放变量的值,而变量名将指向这个值所在的内存空间。与变量相对的就是常量,在程序运行过程中,常量的值不会发生改变。

2、变量的命名规范

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量的命名方式一般有2种:
1)变量中单词与单词之间使用下划线分隔

hello_kitty='abc'

2)变量中的每个单词的首字母大写

helloKitty='abc'

Tip:推荐使用第一种方式~

3、变量的定义与赋值

a=1,就是一个变量的赋值过程,等号“=”左边的值赋值给右边的变量a,这个过程已经包含了变量的申明和定义过程,每个变量需要先赋值再使用,变量在被赋值之后才会被创建。不同于其他语言,例如在C语言中,变量在被赋值前,必须先定义变量的类型,而python不需要,可以不定义变量的类型直接赋值,Python解释器会根据语法和操作数决定对象的类型
Python变量与常量

动态类型语言和静态类型语言

  • 静态类型语言:数据类型在编译期间确定,编码时,必须明确指定变量的数据类型,然后再赋值。
    主要语言:C、c++、Java、Object-C...
    例如 java的赋值语句如下:
    String str = "abc";  
    char sex = 'M';  

     

  • 动态类型语言:数据类型不在编译期间确定,变量的类型绑定延后到了运行阶段。变量使用之前不需要类型声明。
    主要语言:Python、Perl、Ruby、Erlang、PHP...
    例如 python的赋值语句:
    >>> str = 'abc'
    >>> var = 1

在python中,可以对同一个变量反复赋值,且每次赋值的数据类型都不一致(type()函数查看数据类型):

>>> abc = 1
>>> type(abc)
<class 'int'>               # abc 为 int 类型

>>> abc = 1.2
>>> type(abc)
<class 'float'>            # abc为 float 类型

>>> abc = 'hello'
>>> type(abc)
<class 'str'>              # abc为 字符串 类型

内存图解:
Python变量与常量

变量的赋值过程

程序中的一个赋值操作,例如:abc=1,在内存中大致可以分为两个步骤:
1)内存中开辟一段空间用于存放值 1
2)内存中创建一个变量abc,并指向 值 1

赋值完成后,若修改 abc 的值,python解释器并不是修改变量abc指向的内存空间中存放的值,而是重新开辟一段内存空间,将新的值存放进去,变量abc重新指向这段新开辟的内存空间:

>>> abc = 1
>>> id(abc)
1465150944

>>> abc='hello kitty'
>>> id(abc)
1730859168688

注:函数id()用于查看变量的内存地址~

Python小整数对象池

示例1:

>>> a = 10
>>> b = 10
>>> id(a)
1465151232
>>> id(b)
1465151232

示例2:

>>> a = 300
>>> b = 300
>>> id(a)
1730858159920
>>> id(b)
1730858412880

如上面所说,在Python中修改变量的值并不是在对应的内存空间中直接修改,而是需要malloc重新分配内存,用完之后再回收。为了提高效率,Python解释器将小整数[-5,257)存放在小整数对象池中,即small_ints数组中。small_ints缓存了[-5,257) 之间的所有整数,且在python解释器初始化后small_ints数组就一直存在。若变量的值在[-5,257)范围内,就直接从small_ints数组中获取,而不需要再分配内存空间。

小整数的范围为[-5,257),若要修改需要通过修改python的源代码实现

所以如 示例1 中所示:不同的变量,它们的值是同一个小整数时,这些变量引用的是同一个对象。若整数的值不在[-5,257) 范围内,python解释器会将其存放在PyIntBlock中,这里不做介绍~

其他赋值方式

多重赋值
同时为多个变量赋值,也称链式赋值。

a = b = c = 1            # a,b,c的值都为1

多元赋值
多个变量,多个值,逐一对应。

a, b, c = 1, 2, 3        # a = 1,b = 2,c = 3

对换赋值

x=1; y=2
x, y = y, x                 # x = 2, y = 1

分解赋值
元组分解后赋值给多个变量

a, b, c = (1,2,3)      # a = 1,b = 2,c = 3

s='hello'
a,b,c,d,e=s             # a = 'h',b = 'e',c = 'l',d = 'l',e = 'o'

a,_,_,_,e=s            # a = 'h',e = 'o',只取出开头结尾,单个下划线仅仅是一个有效的变量名称,来表示某个变量是临时的或无关紧要的(把不需要的值赋值给下划线)

# 也可以按下列方式书写:
a,*_,e=s
print(a,e)               # a = 'h',e = 'o'

增量赋值

x += 1

4、python引用计数 和 垃圾回收机制

引用计数

Python使用引用计数来追踪内存中的对象。当对象被创建并赋值给变量时,该对象的引用计数被设置为1。
当对象再次被引用时,引用计数加1。引用计数也会减少(例如del 变量名或对变量重新赋值等),当引用计数为0是,意味着这个对象已经没有被使用~

del语句
del语句会删除对象的一个引用,del语法:del obj[, obj2[, ...objN]]
执行 del x 后的两个动作:
1)从现在的名称空间中删除x
2)x所指向的对象的引用计数减1

垃圾回收机制

Python的GC模块通过引用计数来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generation collection)以空间换取时间来进一步提高垃圾回收的效率。

5、常量

常量指在程序运行过程中不会改变的量,c语言中有专门的常量定义语法:const int a = 60; 常量定义之后就不能更改,若更改就会报错,Python中没有类似const这样的修饰符,即没有专门用于定义常量的语法,一般约定俗成 变量名以全大写的形式来表示这是一个常量~

NAME=kitty

.................^_^

--结束END--

本文标题: Python变量与常量

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

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

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

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

下载Word文档
猜你喜欢
  • Python变量与常量
    1、什么是变量 a=1,其中 a 就是变量名称,1 就是它的值。在程序运行过程中,变量的值一般都会发生改变,内存中会专门开辟一段空间,用来存放变量的值,而变量名将指向这个值所在的内存空间。与变量相对的就是常量,在程序运行过程中,常量的值不会...
    99+
    2023-01-31
    常量 变量 Python
  • python之变量与常量
    变量:把程序运行过程中产生的值,暂时存储在内存,方便后面的程序调用. 被引号括起来的内容是字符串,原样输出.#单行注释 用来标注代码信息,特点:被注释的内容不会被执行.Ctrl + /'''内容''' ->多行注释"""内容"""...
    99+
    2023-01-30
    常量 变量 python
  • 000-Python常量与变量
    python常量与变量昨天的文章虽然有插图,但是一个都没有显示出来,估计是天气太热,不愿意露面的缘故吧。这些都不是事,暂且不表,今天再次发布与昨天相同的文章,主要为了弥补3个插图。为了有更好的排版体验及阅读效果,小白还专门购买了Pro版的M...
    99+
    2023-01-31
    常量 变量 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开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作