python变量的赋值操作即是变量,python中变量赋值语句例子

  python变量的赋值操作即是变量,python中变量赋值语句例子

  Python是一种非常特殊的语言,与C语言不同。python是一种‘弱类型’的脚本语言。当一个变量被声明时,它的类型并没有被定义,而是被赋值的类型所反映。因此,python变量在声明时一般需要赋予初始值。

  在C语言中,给变量赋值时,首先需要是指定数据类型,同时也是开辟一块内存区域,用来存储值。

  例如:

  int a=0;

  当A被赋值时:A=5;这时候内存地址没有变,只是该段内存中的值变了,变成了2。

  此时if:int b=a;相当于把值拷贝了一份传递给变量b,b是新开辟的一段内存区域,此时a和b的地址并不相同

  在Python中,“变量”的严格名称是“名称”,也可以理解为标签。就像每个人的名字一样,只是一个标记我们的标签。这种方式是和python“万物皆对象”的思想相契合的。

  例如,上面的段落报告了一个错误,该错误明确指出没有定义名称“a”而不是变量“a”。

  再比如,在上面的代码中,连“10”都被当作int类对象,A指向这个对象。

  在python中,当执行时:a=1python首先会在分配一段内存空间用来创建int型对象“1”,然后用a指向它;

  再次:a=2python 同样会划分内存空间来创建int型对象“2”,然后用 a执行它,这时候,对象“1”就没有办法通过a来找到,不久后将会被内存回收。

  执行:b=a这里和C语言是完全不一样的,定义b的时候不需要分配内存空间,这样我们既可以通过a来访问2也可以通过b来访问2,此时a和b的地址和值都是一样的。

  理解了Python中的变量和赋值之后,我们来看看函数的参数传递,如下图。

  这里把参数G传入函数相当于执行a=g,当A和G指向同一个对象在函数内部给a重新赋值,其实是让a重新指向一个新的对象,并不会对g的值造成影响。同一个函数在C语言中不会改变函数外的值。这是因为参数只接收实际参数的值,两者不分布在同一个地址。

  看下面的情况。

  为什么这次可以用函数改变外部变量?这是因为函数修改了变量其实,在python内部是类调用自己的方法进行的修改这时并没有创建新的对象所指向的对象。这时候外部变量是可以修改的,就像一个人换了衣服,但是属于这个人,名字还是表示的。

  所以在python中,函数能否修改外部变量主要取决于变量的类型是否可修改。在Python中,字符串、元组和数字是不可变的对象,不能修改。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: