Python中的变量与常量


Posted in Python onNovember 11, 2021

 

一、变量、常量的区别

  • 变量:在程序运行过程中,值会发生变化的量。
  • 常量:在程序运行过程中,值不会发生变化的量。

无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。

二、变量

1. Python中的变量不需要声明类型

这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前声明类型。例如下面的a,b,c,d四个变量,在使用前没有进行任何的诸如 int a, str b, list c , int d 的类型声明,而这在C语言和JAVA编程语言中是必须要携带的。

例如:

a = 4 
 b = "haha" 
 c = [] 
 d = 9-5

2. 用“=”号来给变量赋值

a = 100

这里的等号要理解并读作“赋值”,而不是“等于”,“赋值”是对变量的操作,而“等于”是对两个变量进行比较。上面的a,b,c,d四个变量,就通过“=”号,赋予了不同的值。

3. 赋值

每个变量在使用前都必须赋值,变量赋值以后才会被创建。

新的变量通过赋值的动作,创建并开辟内存空间,保存值。如果没有赋值而直接使用会抛出赋值前引用的异常或者未命名异常。

例如:

a       # 孤单单一个a,什么也表示不了,只能报错 
a = 1   # 这样就没问题了,解释器知道a是个新变量了 
c.append(1)     # c是个什么鬼? 
NameError: name 'c' is not defined

结果:

Python中的变量与常量

4. 变量

Python中,变量本身没有数据类型的概念

通常所说的“变量类型”是变量所引用的对象的类型,或者说是变量的值的类型。

a = 1 
a = "haha" 
a = [1, 2, 3] 
a = { "k1":"v1"}

变量a在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。变量a在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。

5. “=”

“=”号这个赋值运算符是从右往左的计算顺序

a = 1 
b = 2 
c = a + b  # 先计算a+b的值,再赋给c 
print(c)

Python中的变量与常量

6. Python允许同时为多个变量赋值

(例如:a = b = c = 1,最终大家都是1)。也可以同时为多个变量赋值,用逗号分隔,逐一对应。

例如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3。

不要把赋值语句的等号等同于数学的等号。

x = 1 
 
x = x + 2

如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果3,再赋给变量x。由于x之前的值是1,重新赋值后,x的值变成3。

a = 'ABC'时,Python解释器干了两件事情:

  • 在内存中创建了一个‘ABC'的字符串对象;
  • 在内存中创建了一个名为a的变量,并把它指向'ABC'。

也可以把一个变量a赋值给另一个变量b,这个操作实际上是将变量b指向变量a所指向的数据,

例如下面的代码:

a = 'Jack' 
b = a 
a = 'Tom' 
print(b) 
print(a)

最后变量b的内容到底是'Jack'还是'Tom'?如果从数学意义上理解,就会错误地得出b和a相同是‘Tom',但实际上b的值还是'Jack ‘!

请牢记:Python中的一切都是对象,变量是对象的引用!

图:

Python中的变量与常量

执行a = ‘Jack',解释器创建字符串‘Jack'对象和变量a,并把a指向‘Jack'对象;

执行b = a,解释器创建变量b,并且将其指向变量a指向的字符串‘Jack'对象;

执行a = ‘Tom',解释器创建字符串‘Tom'对象,并把a改为指向‘Tom'对象,与b无关。

三、常量

常量就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359

但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

常量通常放置在代码的最上部,并作为全局使用。

四、总结

到此这篇关于Python中的变量与常量的文章就介绍到这了,更多相关Python变量与常量内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python网站验证码识别
Jan 25 Python
浅谈python中的面向对象和类的基本语法
Jun 13 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
python Crypto模块的安装与使用方法
Dec 21 Python
基于Python列表解析(列表推导式)
Jun 23 Python
python爬虫获取小区经纬度以及结构化地址
Dec 30 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
Django之腾讯云短信的实现
Jun 12 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
从python读取sql的实例方法
Jul 21 Python
Python实现简单的猜单词
Jun 15 Python
python实现双链表
May 25 Python
Python 键盘事件详解
Nov 11 #Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 #Python
Python 多线程处理任务实例
Nov 07 #Python
python利用while求100内的整数和方式
Nov 07 #Python
python中if和elif的区别介绍
Nov 07 #Python
python中取整数的几种方法
Python 中的 copy()和deepcopy()
Nov 07 #Python
You might like
php顺序查找和二分查找示例
2014/03/27 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
[01:12]DOTA2 2015年秋季互动指南
2015/11/10 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
python编程线性回归代码示例
2017/12/07 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python如何实现异步调用函数执行
2019/07/08 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
翻译学院毕业生自荐书
2014/02/02 职场文书
幼儿生日活动方案
2014/08/27 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
公司员工辞职信范文
2015/05/12 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python