在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:

a = 123 # a是整数

print a

a = 'imooc' # a变为字符串

print a

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。

静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(// 表示注释):

int a = 123; // a是整数类型变量

a = "mooc"; // 错误:不能把字符串赋给整型变量

和静态语言相比,动态语言更灵活,就是这个原因。

请不要把赋值语句的等号等同于数学的等号。比如下面的代码:

x = 10

x = x + 2

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

最后,理解变量在计算机内存中的表示也非常重要。当我们写:a = 'ABC'时,Python解释器干了两件事情:

1. 在内存中创建了一个'ABC'的字符串;

2. 在内存中创建了一个名为a的变量,并把它指向'ABC'。

也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:

a = 'ABC'

b = a

a = 'XYZ'

print b

最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:

执行a = 'ABC',解释器创建了字符串 'ABC'和变量 a,并把a指向 'ABC':

执行b = a,解释器创建了变量 b,并把b指向 a 指向的字符串'ABC':

执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

结束语

乐搏学院是国内最大的IT技能学习平台,乐搏学院专注提供专业IT职业在线教育及实战培训,丰富的移动端开发、php开发、web前端、android开发以及html5等视频学习教程,拥有云计算,大数据,Android,iOS,Java,Python,HTML5,Swift,Unity3D,Cocos2dx等IT实战培训视频。

python公开课乐博学院_Python 变量相关推荐

  1. python公开课乐博学院_当我学完 Python ,我学会了些什么【乐搏TestPRO】

    本文是本人学完Python后的一遍回顾,加深理解顺便留作手册以备查阅. 学习Python的这几天来,觉得Python还是比较简单,容易上手的,就基本语法而言,但是有些高级特性掌握起来还是有些难度,需要 ...

  2. python公开课乐博学院_乐搏学院 - 主页

    ${content} 你输入的邮件地址曾经通过${type}激活了本站帐号,请使用${type}帐号直接登录. 课程习题 : 提示 请选择一个答案 提交 查看正确答案 下一题 ${option}: $ ...

  3. python公开课乐博学院_乐搏学院VIP36期全栈班学习群 - 乐搏软件教育 - 软件测试 - Powered By EduSoho...

    { "i18nChapterName": "章", "i18nUnitName": "节", "i18nLes ...

  4. 网易python公开课_如何批量获取网易公开课Request Url?

    这个可能跟python关系不大了,从网络请求可以看到,在请求flv之前,有个xml的请求: http://live.ws.126.net/movie/D/K/2_M82ICR1D9_M83C881DK ...

  5. python公开课免费-公开课 | Python大牛免费带你4天入门Python

    原标题:公开课 | Python大牛免费带你4天入门Python 作为刚入门的同学,无非视频.书籍.网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒 ...

  6. python手写板,机器语言之手写识别_源码时代Python公开课|Python培训

    课程介绍 当我们在手写设备(例如我们输入法中的手写模式),使用手写的文字,我们计算机是如何快速准确的识别出来的?每个人,甚至是同一个人,每次手写的字都不是完全一样,计算机不是人,它是怎么做到的呢?难道 ...

  7. 高中python公开课怎么上好_如何上好高中英语公开课

    谈如何上好高中英语公开课 对青年教师来说,开一节公开课,如同完成一次蜕变,累掉一层皮,有着刻骨铭 心的阵痛,但换来的是突飞猛进的专业成长.可以说,公开课是青年教师培训的有效 途径,是名师培养的摇篮.下 ...

  8. 高中python公开课怎么上好_如何上好高中英语公开课探究

    如何上好高中英语公开课探究 王秀萍 [期刊名称] <北方文学(下旬刊) > [年 ( 卷 ), 期] 2012(000)009 [摘要] 文章从认识公开课的概念及在教育中的意义出发,以如何 ...

  9. 网易图灵学院python公开课_图灵学院 Python全系列教程全栈工程师 python视频教程下载...

    大家怎么说? 老师很好,我认为,若想学好python,应该多练.多想.多看.学习资料不能仅限于老师给定的这些内容,这些毕竟是入门资料 老师讲的真不错,对于我们这种小白来说 也比较容易懂,虽然有些时候自 ...

最新文章

  1. word2vec python实现_教程 | 在Python和TensorFlow上构建Word2Vec词嵌入模型
  2. python抓取股票数据_Python股票处理之一_获取国内股票数据
  3. pythonspark实例_spark+python快速入门实战小例子(PySpark)
  4. PropertyGrid控件 分类(Category)及属性(Property)排序
  5. 区域风云企业之大立-DVR产品的新技术应用
  6. MongoDB shell
  7. 内推熟人来自己公司一定要慎重
  8. HALCON 20.11:如何处理标定助手品质问题
  9. Python input()和raw_input()的区别
  10. Linux 2.6内核Makefile浅析
  11. 华为服务器SNMP协议怎么修改,华为迈普交换机、瑞斯康达SNMP协议配置方法
  12. 好用的PDF解密工具哪个好?
  13. mysql广告投放查询_广告投放数据分析
  14. 对于 ACM程序设计选修课的感想
  15. NCCL (NVIDIA Collective Communications Library)
  16. 基于高德地图实现的公交线路查询功能
  17. Android--模拟点击屏幕
  18. Javascript对象相加
  19. nginx缓冲区关闭导致下载失败问题
  20. PYTHON鼠标记录器 一个简单的鼠标记录器 可以修改坐标和点击的时间

热门文章

  1. TensorFlow实现非线性回归
  2. #触摸一体机##五指息屏#
  3. 恢复chrome书签
  4. 陀螺产业区块链案例库 | 终本案件智能管理系统
  5. unity5.6.5适配Android P刘海屏,两侧去黑边
  6. Linux路由器的配置
  7. AI赐子?!学习数百万个胚胎发育过程,算法可将试管婴儿成功率提高3倍
  8. R语言-批量读取数据文件以及提取字符串中的数字
  9. 爬虫爬取站长素材图片 (使用scrapy和imagespipeline)
  10. 淘淘商城(前台系统,展示商城首页,商品分类展示)