1 变量

变量就是可以变化的量,程序执行的本质就是一系列状态的变化,所以我们需要有一种机制能够反映或者说是保存程序执行时状态以及状态的变化。

在学习变量之前,首先需要明确Python是 解释型的强类型动态语言

  • 解释型语言:代码运行是依赖于Python解释器
  • 强类型语言:变量的数据类型一旦被定义就不会再改变(除非进行强转)
  • 动态型语言:运行时才进行数据类型检查,即在变量赋值时才确定变量的数据类型,不用事先给变量指定数据类型

1.1 变量的定义和使用

变量的定义由三个部分组成: 变量名 = 值

  • 变量名:指向值所在的内存地址,是访问到值的唯一方法
  • =:赋值符号,用来将变量值的内存地址绑定到变量名
  • 值:存储的数据

解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,通过变量即可引用到对应的值:

name = '张三'    # 定义一个存储姓名的变量
print(name)     # 输出变量名对应的值:张三

1.2 变量的命名

变量名的命名应该 见名知意,并且需要遵循下面的命名规范:

  • 变量名只能是字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 不能使用Python关键字,如:‘and’ 等

注意:
1 虽然可以以中文命名,但是不推荐这么做
2 Python关键字:False、await、else、import、pass、None、break、except、in、raise、True、class、finally、is、return、and、continue、for、lambda、try、as、def、from、nonlocal、while、assert、del、global、not、with、async、elif、if、or、yield

Python有两种命名的风格:

  • 驼峰体:CardNumber = 100
  • 纯小写加下划线(推荐使用该风格):card_number = 100

1.3 变量的三大特性

变量的值具备三大特性:

  • id:反应的是变量在内存中的唯一编号,内存地址不同的id肯定不同
  • type:变量值的类型
  • value:变量的值

查看变量值三大特性的方式如下:

# 定义一个变量
number = 123  # 获取id值
print( id( number ) )        # 140726649230816# 获取类型
print( type( number ) )     # <class 'int'># 获取变量的值
print( number )               # 123

Python提供了 is 和 == 运算符:

  • is:比较两个变量的id是否相等
  • ==:比较两个变量的值是否相等
# 定义两个字符串
x = 'This is String'
y = 'This is String'
z = x
print( id(x) == id(y) )  # false
print( x == y )          # true
print( id(x) == id(z) )  # true

注意:在使用id进行判断的时候有两个需要注意的地方:
1 小整数池
从Python解释器启动开始,就会在内存中事先申请好一系列内存并且存放好常用的整数(-5 ~ 256),所以对于这些数字不会再重复申请内存地址,使用id返回的值永远都是相同的:

2 PyCharm中的问题
PyCharm会对内存管理进行优化,所以得到的结果会有不同:

2 常量

在程序运行过程中,有些值是固定的,比如:圆周率,这些程序运行过程中不会改变的量就是常量,但在Python中没有一个专门的语法来定义常量,约定俗成是用全部大写的变量名表示常量,如:

# 约定俗成的常量,实际上还是可以更改的
MESSAGE_LOGIN = 1001

三个变量互换值_02-Python基础知识学习-------Python变量相关推荐

  1. python基础知识学习笔记(1)

    python 基础知识学习笔记(1) 总结一下Python基础知识,以防忘记. 文章目录 python 基础知识学习笔记(1) 一.起步 1.python安装与编译环境 二.变量和简单数据类型 三.列 ...

  2. python程序如何执行死刑_「Python基础知识」Python生成器函数

    原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...

  3. Python基础知识学习笔记(一)

    Python基础知识学习笔记(一) 文章目录 Python基础知识学习笔记(一) (一) 认识python 1.注释 2.变量及类型 3.关键字(标识符) (1)什么是关键字? (2)查看关键字 (3 ...

  4. Python 基础知识学习笔记——OpenCV(1)

    Python 基础知识学习笔记--OpenCV(1) OpenCV是一个开源的跨平台计算机视觉和机器学习软件库,它轻量而且高效,被广泛的使用. 整理一下OpenCV学习笔记,以防忘记. 文章目录 Py ...

  5. python基础知识学习笔记(2)

    python基础知识学习笔记(2) 整理一下python基础知识,以防忘记 文章目录 python基础知识学习笔记(2) python简洁的一行代码 python简洁的一行代码 1.交换两个变量 # ...

  6. python基础知识-python基础知识,python必背内容,一、python的基

    python基础知识,python必背内容,一.python的基 一.python的基础 1.简单写一行python代码:print("hello,world')print("你好 ...

  7. python基础知识学习总结

    python基础知识学习总结 从零开始学习python,已经学习完python相关的基础教程,学习地址详见:http://www.runoob.com/python/python-tutorial.h ...

  8. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  9. Python基础知识学习笔记——Matplotlib绘图

    Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...

  10. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

最新文章

  1. 200m的共享虚拟主机够用吗
  2. union all怎么用在循环里_ai软件怎么使用?ai里基本功能怎么用?
  3. ecmobile实现支付宝支付和百度云推送遇到的问题及解决方案(android)
  4. 操作RadGrid1,RadAjaxLoadingPanel1不出现
  5. linux系统电源时钟,linux电源管理的一些梳理
  6. 想都不敢想!这8个神奇“黑科技”原来已经有人弄出来了
  7. c#获取屏幕分辨率信息
  8. canvas drawbitmap不出现_JS实现简单的画板(canvas),可在PC和移动端实现。
  9. 企业管理系统原型、HRM、工作报告统计、0A、商机、合同、客户管理、产品管理、企业oa、行政办公系统、数据报表、销售分析、客户分析、产品管理、人力资源管理系统、crm、axure原型、rp源文件
  10. vector 二维数组_go语言基础教程——数组与切片
  11. Spring MVC访问页面拦截js和css文件解决方法( No mapping found for HTTP request with URI [/Recruit/js/popper1.15.0.)
  12. android+世界地图高清版大图片,世界地图全图高清版
  13. python怎么实现模块化_python模块化编程与简单模块实现
  14. NVIDIA驱动报错解决方案
  15. Java的面向对象 -- 继承
  16. Ubuntu 桌面死机后重启桌面方法
  17. 2020年全球程序员收入出炉,国内程序员的收入也不低!北京以10万美元的薪资排名第十!
  18. 计算器四则运算c语言,C语言:基于命令行的四则运算计算器
  19. 模型量化(1):模型量化简介
  20. 2012美国总统竞选赞助数据分析项目学习

热门文章

  1. Fabric--CA 应用与配置
  2. 研究.jpg图片马赛克问题
  3. angr学习笔记(10)(hook)
  4. 设计模式C++实现(7)——外观模式、组合模式
  5. Ubuntu 循环显示登录界面
  6. 11、Java Swing JList:列表框组件
  7. OPPO A59s手机系统时间停止运行
  8. Thymeleaf表达式
  9. easyUI的combobox选中无法显示
  10. 如何将 Nginx 性能提升10倍?这10个“套路”请收好!