Python你知道多少?教你玩转Python变量与常量!
变量与常量
变量:在程序运行过程中,值会发生变化的量
常量:在程序运行过程中,值不会发生变化的量
无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。
这里有一点需要注意的是,在python中是不需要声明类型的。这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前声明类型。
变量的定义
Python 中的变量不需要声明类型
这些变量都是不需要声明它的类型的,在C和Java中是必须要声明的。这里的=是赋值而不是等于的意思。每个变量在使用前都必须赋值,变量赋值以后才会被创建。如果一个变量没有赋值,直接用的话。系统会报出错误
这里的等号要理解并读作“赋值”,而不是“等于”,“赋值”是对变量的操作,而“等于”是对两个变量进行比较。
每个变量在使用前都必须赋值,变量赋值以后才会被创建
新的变量通过赋值的动作,创建并开辟内存空间,保存值。如果没有赋值而直接使用会抛出赋值前引用的异常或者未命名异常
Python中,一切事物都是对象,变量引用的是对象或者说是对象在内存中的地址。
后面我们详细来讲解
在Python中,变量本身没有数据类型的概念
通常所说的“变量类型”是变量所引用的对象的类型,或者说是变量的值的类型
例子中,变量a在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。变量a在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。
“=”号这个赋值运算符是从右往左的计算顺序。
Python允许同时为多个变量赋值。
当我们写:
a = 'ABC'时,Python解释器干了两件事情:
1.在内存中创建了一个‘ABC’的字符串对象;
2.在内存中创建了一个名为a的变量,并把它指向'ABC'。
思考
执行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,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
对Python感兴趣或是刚刚接触python,一定要知道的30个小技巧!
1. 原地进行交换两个数字 我们对赋值的右侧进行一个新的元组,左侧解析(unpack)那个(未被引用的)元组到变量 <a> 和 <b> 赋值完成时,新的元组变成了未被引用状态并且被标记没用处,最终完成了变量的交换 2. 链状比较操作符 3. 使用三元操作符来进行条件赋值 4. 多行字符串 5. 存储列表元素到新的变量中 6. 打印引入模块的文件路径 7. 交互环境下的 “_” 操作符 8. 字典/集合推导 9. 调试脚本 10. 开启文件分享 11. 检查 Python 中的对象 12. 简化 if 语句 13. 运行时检测 Python 版本 14. 组合多个字符串 15. 四种翻转字符串/列表的方式 16. 玩转枚举 17. 在 Python 中使用枚举量 18. 从方法中返回多个值 19. 使用 * 运算符(splat operator)来 unpack 函数参数 20. 使用字典来存储选择操作 21. 一行代码计算任何数的阶乘 22. 找到列表中出现最频繁的数 23. 重置递归限制 24. 检查一个对象的内存使用 Python 2.7 一个 32 比特的...
- 下一篇
2018-05-14 代码考古-Python3官方教程字典例程
知乎原链 Data Structures中的第一个例程: >>> tel = {'jack': 4098, 'sape': 4139} >>> tel['guido'] = 4127 >>> tel {'sape': 4139, 'guido': 4127, 'jack': 4098} >>> tel['jack'] 4098 >>> del tel['sape'] >>> tel['irv'] = 4127 >>> tel {'guido': 4127, 'irv': 4127, 'jack': 4098} >>> list(tel.keys()) ['irv', 'guido', 'jack'] >>> sorted(tel.keys()) ['guido', 'irv', 'jack'] >>> 'guido' in tel True >>> 'jack' not in tel Fal...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16