这次给大家带来Python变量与赋值的图文详解,使用Python变量与赋值的注意事项有哪些,下面就是实战案例,一起来看一下。

Python是一门独特的语言,与C语言有很大区别,初学Python很多萌新表示对变量与赋值不理解,学过C的都知道,给变量赋值时,需要先指定数据类型,同时会开辟一块内存区域,用于存储值,例如:int a = 1;

a 就是内存空间中的一小块区域,就像是一个大房间里面的一个小盒子,赋值就是把整数1装载到盒子里面。

现在给变量a重新赋值a = 2;

盒子依然是那个盒子,也就是说内存地址没有变,只是该段内存中的值变了,变成了2。

再来看:int b = a;

当把变量a赋值给另外一个变量b时,相当于把值拷贝了一份传递给变量b,b是新开辟的一段内存区域

而在Python中,“变量”的严格叫法是“名字(name)”,也可以理解为标签,就像我们人的姓名一样,名字就是挂在人身上的一个标签。>>> 10-a

Traceback (most recent call last):

File "", line 1, in

NameError: name 'a' is not defined

比如上面这段错误报的是name 'a' 没有定义,而没有说成 variable。

在Python中,给变量赋值就是相当于给对象贴标签,就像我们给人取名字一样,变量本身是没有任何意义的,它没有类型信息,真正的信息都在对象身上。

例如:a = 1

Python内部首先会分配一段内存空间用于创建整数对象1,然后给这个1贴上名为a的标签。

然后执行a=2

Python接着会在另一块内存区域创建整数对象2,然后把标签a从1身上撕下来贴在2身上,此时,我们没法再通过a来得到1这个值了。

现在把名字a赋值给另外一个名字bb = a

相当于在刚才的2身上又贴了一个新的标签b,注意,这里和C语言是完全不一样的,定义b的时候不需要分配内存空间,这样我们既可以通过a来访问2也可以通过b来访问2,访问的都是同一个对象,就好比我们给宝宝取名时既有小名也有大名,其实叫的都是同一个人。

虽然我们通常在Python中还是用"变量"的叫法(因为在编程语言中这是一种通用叫法),但是我们需要理解Python中的变量不同于其他语言,变量只是一个名字。

理解了Python中的变量与赋值后,再来看函数的参数传递,如下所示:>>> def fun_a(a):

... a = a+4

...

>>> g = 0

>>> fun_a(g)

>>> g

0

全局变量g传递给函数fun_a时,相当于函数中的参数a也将作为标签贴在0上,随后a被重新赋值了(a=a+4),相当于从0撕下标签a贴到4身上,然后g依然还是0上面的标签。

再来看这个函数,传递的是一个列表对象>>> def fun_b(names):

... names[0] = ['x', 'y']

...

>>> n_list = ['a','b','c']

>>> fun_b(n_list)

>>>

>>> n_list

[['x','y'], 'b', 'c']

与前面的步骤还是一样的,names 和 n_list 都是['a','b','c']上的一个标签,只是列表中的第0个元素被重新赋值了,但是names和 n_list 依然都贴在这个列表对象身上,虽然 n_list的值更新了,但对象依然是原来那个对象。就好比张三和小张都是同一个人,现在给小张换件衣服时,其实就是给张三换件衣服,人还是那个人,只是它身上的东西发生了变化。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

python给变量赋值中文_Python变量与赋值的图文详解相关推荐

  1. python之pygame安装教程_Python中pygame安装方法图文详解

    搜索热词 本文实例讲述了Python中pygame安装方法.分享给大家供大家参考,具体如下: 这里主要描述一下我们怎样来安装pygame 可能很多人像我一样,发现了pygame是个好东东,但是就是不知 ...

  2. python灰色波浪线,PyCharm关闭碍眼的波浪线图文详解

    下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢? Pycharm 本身会实时地对变量名进行检查,如果变量名不是一 ...

  3. python动态类型的坑_python进阶教程之动态类型详解

    动态类型(dynamic typing)是Python另一个重要的核心概念.我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值.这些都与动态类型的概念 ...

  4. python中symbols函数用法_Python基础之函数用法实例详解

    本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值.分享给大家供大家参考之用.具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def, ...

  5. python类初始化导入库_Python中optparser库用法实例详解

    本文研究的主要是Python中optparser库的相关内容,具体如下. 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常 ...

  6. python是基于什么原理_Python基于class()实现面向对象原理详解

    首先,类是一个集合,包含了数据,操作描述的一个抽象集合 你可以首先只把类当做一个容器来使用 class Cycle: def __init__(self,r): self.pi=3.14 self.r ...

  7. python的类和对象_Python面向对象之类和对象实例详解

    本文实例讲述了Python面向对象之类和对象.分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态): 属性一般是一个个变量:方法是一个个函数: #类的属性 ...

  8. python编程midi键盘按键_Python中捕获键盘的方式详解

    python中捕获键盘操作一共有两种方法 第一种方法: 使用pygame中event方法 使用方式如下:使用键盘右键为例 if event.type = pygame.KEYDOWN and even ...

  9. python find的使用方法_Python中的rfind()方法使用详解

    Python中的rfind()方法使用详解 rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end]. 语法 以 ...

最新文章

  1. 为什么你今年的去哪儿产品经理面试挂了?
  2. 设置RDLC中table控件的表头在每页显示
  3. 企业实战(Jenkins+GitLab+SonarQube)_01_Jenkins下载
  4. oracle查询cpu占用率高,解决oracle进程CPU占用过高问题
  5. 踏青旅行必备的民宿指南,都在这些airbnb数据里了
  6. css3宽度变大动画_【动画演示】流量计的工作原理,真涨见识!
  7. python不会英语不会数学怎么自学-零基础想自学PYTHON如果补数学怎么补?
  8. 电工产品的电磁兼容要求
  9. matlab安装vlfeat-0.9.18出错
  10. 图像特征原理--HOG特征
  11. 考研杂谈一:计算机专业有必要考研吗?
  12. 闹中取静:寻觅电商蓝海
  13. 计算机的基本储存单元电路,DRAM的存储单元电路.PPT
  14. 分摊的意思_十年分摊是什么意思
  15. 吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 三) (转)
  16. linux skyeye,在Ubuntu 10.04上安装SkyEye及测试
  17. netkeeper不能建立远程计算机连接,Netkeeper客户端常见问题集锦.doc
  18. shell kill 掉指定app
  19. 程序员时事面试题——地震预测
  20. MSTP多实例配置实验

热门文章

  1. 微波炉怎么用(微波炉是如何加热食物的?)
  2. # 健康饮食-20211217
  3. 最新版图书馆招聘考试常考试题重点事业单位
  4. 漫漫编程路,携手共进步
  5. 数据分析技能点-数据的种类
  6. IDEA乱码的几种解决办法
  7. 小程序毕业设计 基于微信家政服务预约小程序毕业设计开题报告功能参考
  8. 用scratch导入列表乱码问题解决
  9. Bridge - 桥接模式
  10. #261 – Win7标准字体(Standard Fonts in Windows 7)