python给变量赋值中文_Python变量与赋值的图文详解
这次给大家带来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变量与赋值的图文详解相关推荐
- python之pygame安装教程_Python中pygame安装方法图文详解
搜索热词 本文实例讲述了Python中pygame安装方法.分享给大家供大家参考,具体如下: 这里主要描述一下我们怎样来安装pygame 可能很多人像我一样,发现了pygame是个好东东,但是就是不知 ...
- python灰色波浪线,PyCharm关闭碍眼的波浪线图文详解
下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢? Pycharm 本身会实时地对变量名进行检查,如果变量名不是一 ...
- python动态类型的坑_python进阶教程之动态类型详解
动态类型(dynamic typing)是Python另一个重要的核心概念.我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值.这些都与动态类型的概念 ...
- python中symbols函数用法_Python基础之函数用法实例详解
本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值.分享给大家供大家参考之用.具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def, ...
- python类初始化导入库_Python中optparser库用法实例详解
本文研究的主要是Python中optparser库的相关内容,具体如下. 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常 ...
- python是基于什么原理_Python基于class()实现面向对象原理详解
首先,类是一个集合,包含了数据,操作描述的一个抽象集合 你可以首先只把类当做一个容器来使用 class Cycle: def __init__(self,r): self.pi=3.14 self.r ...
- python的类和对象_Python面向对象之类和对象实例详解
本文实例讲述了Python面向对象之类和对象.分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态): 属性一般是一个个变量:方法是一个个函数: #类的属性 ...
- python编程midi键盘按键_Python中捕获键盘的方式详解
python中捕获键盘操作一共有两种方法 第一种方法: 使用pygame中event方法 使用方式如下:使用键盘右键为例 if event.type = pygame.KEYDOWN and even ...
- python find的使用方法_Python中的rfind()方法使用详解
Python中的rfind()方法使用详解 rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end]. 语法 以 ...
最新文章
- 为什么你今年的去哪儿产品经理面试挂了?
- 设置RDLC中table控件的表头在每页显示
- 企业实战(Jenkins+GitLab+SonarQube)_01_Jenkins下载
- oracle查询cpu占用率高,解决oracle进程CPU占用过高问题
- 踏青旅行必备的民宿指南,都在这些airbnb数据里了
- css3宽度变大动画_【动画演示】流量计的工作原理,真涨见识!
- python不会英语不会数学怎么自学-零基础想自学PYTHON如果补数学怎么补?
- 电工产品的电磁兼容要求
- matlab安装vlfeat-0.9.18出错
- 图像特征原理--HOG特征
- 考研杂谈一:计算机专业有必要考研吗?
- 闹中取静:寻觅电商蓝海
- 计算机的基本储存单元电路,DRAM的存储单元电路.PPT
- 分摊的意思_十年分摊是什么意思
- 吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 三) (转)
- linux skyeye,在Ubuntu 10.04上安装SkyEye及测试
- netkeeper不能建立远程计算机连接,Netkeeper客户端常见问题集锦.doc
- shell kill 掉指定app
- 程序员时事面试题——地震预测
- MSTP多实例配置实验