python的定义变量,python什么叫变量

  python的定义变量,python什么叫变量

  前言变量引用变量和不可变类型局部变量和全局变量01。参考变量和变量数据存储在存储器中。在Python中,函数的参数和返回值是通过引用传递的。1.1引用的概念是Python中的。

  变量和数据是分开存储的,存储在内存中的某个位置。变量保存数据。记录在内存地址变量中的数据地址称为引用。使用id()函数检查变量中存储数据的内存地址。注意:如果一个变量已经被定义,当给一个变量赋值时,它实质上修改了数据的引用。

  变量不再引用以前的数据,而是引用新分配的数据。1.2变量引用的示例。在Python中,变量的名字像便笺一样粘贴在数据上。

  定义一个整数变量A,并将其赋给1个代码。

  图示

  a=1

  将变量a赋给2代码

  图示

  a=2

  定义一个整数变量B,并将变量A的值赋给B代码

  图示

  b=a

  变量b是附在数字2上的第二个标签。

  1.3函数的参数和返回值的传递在Python中,函数的参数/返回值都是通过引用传递的。

  定义测试(数量):

  打印(- * 50)

  Print(函数中“% d”的内存地址是% x“%(num,id(num)))

  结果=100

  Print(返回值%d在内存中的地址是%x% (result,id(result)))

  打印(- * 50)

  回送结果

  a=10

  Print(调用函数前的内存地址是%x% id(a))

  r=试验(a)

  Print(调用函数后,实际内存地址是%x% id(a))

  Print(调用函数后返回值的内存地址是%x% id(r))02。变量和不可变类型是不可变类型,内存中的数据是不允许修改的:数字类型int、bool、float、complex、long(2 . x)string str tuple tuple tuple tuple变量类型,内存中的数据是可以修改的:list list字典dict a=1

  你好

  a=[1,2,3]

  a=[3,2,1]

  demo_list=[1,2,3]

  Print(定义列表后内存地址%d% id(demo_list ))

  demo_list.append(999)

  demo_list.pop(0)

  演示_列表.删除(2)

  演示列表[0]=10

  Print(修改的内存地址%d% id(demo_list))

  Demo_dict={name: Xiaoming}

  Print(字典定义后的内存地址%d% id(demo_dict ))

  demo_dict[age]=18

  demo_dict.pop(name )

  Demo_dict[name]=老王

  Print(内存地址% d % id after modified data(demo _ dict))注意:字典的键只能使用不可变的数据。

  [注意]

  可变数据的改变是通过方法实现的。如果一个变量类型的变量被赋予一个新的数据,引用将修改该变量,而不是引用以前的数据,该变量将引用新赋予的数据。

  Hash (Hash) Python有一个名为hash(o)的内置函数,它接收不可变类型的数据作为参数,返回的结果是整数hash。Hash是一种算法,它的作用是提取数据的特征码(指纹),得到相同的结果,不同的内容得到不同的结果。在Python中,设置字典的键值对,首先将键值散列,已经决定了如何在内存中保存字典的数据,以便于字典的后续操作:添加、删除、更改、搜索键值对的键值必须是不可变的数据,键值对的值可以是任意类型的数据。03.局部变量和全局变量局部变量是在函数中定义的变量。只能在函数内部使用全局变量。它是在函数外部定义的变量(不是在某个函数内部定义的)。所有函数都可以在内部使用这个变量。提示:在其他开发语言中,大多数语言不建议使用全局变量3354。变量范围太大,导致程序维护不好!

  3.1局部变量局部变量是在函数内定义的变量,只能在函数内使用。函数执行后,函数内的局部变量会被系统回收【函数的命名空间从函数的调用开始,调用后销毁。】(当一个函数被调用时,打开它的内存空间【此时的函数名是对函数对象内存的引用,即存储函数的内存地址】,最后销毁它的内存空间。)不同的函数可以定义同名的局部变量,但不会互相影响。在函数内部使用它们,并临时保存函数内部需要的数据def demo1():

  num=10

  打印(数字)

  数量=20

  打印(修改的%d% num )

  def demo2():

  数量=100

  打印(数字)

  演示1()

  演示2()

  打印( over )局部变量的生命周期所谓生命周期,就是从变量创建到被系统回收的过程。执行该函数时,将创建局部变量。函数执行后,局部变量的内存会被破坏。在生命周期中,局部变量可以用来存储函数内部临时使用的数据。3.2全局变量是在函数外部定义的变量。所有函数都可以使用这个变量#来定义一个全局变量。

  num=10

  def演示1():

  打印(数字)

  def demo2():

  打印(数字)

  演示1()

  演示2()

  Print(over )注意:当函数被执行时,当变量需要被处理时,它将:

  首先,找出函数内部是否有指定名称的局部变量。如果有,直接用。如果没有,找出函数外是否有指定名称的全局变量。如果有,直接用。如果没有,程序会报错!1)函数不能直接修改全局变量的引用,即不能修改全局变量指向的对象【函数不能修改全局变量的值】。全局变量是在函数外部定义的变量(不是在某个函数中定义的),所有的函数都可以在函数内部使用这个变量,通过全局变量的引用可以得到相应的数据。但是不允许直接修改全局变量3354的引用,即全局变量num=10的值不能被赋值语句修改。

  def演示1():

  打印(演示1 - * 50)

  #只定义了局部变量,不会修改为全局变量,但是变量名是一样的。

  数量=100

  打印(数字)

  def demo2():

  打印(演示2 - * 50)

  打印(数字)

  演示1()

  演示2()

  Print(over )注意:在函数内部只定义了一个局部变量,但是全局变量的值不能在具有相同变量名3354的函数内部直接修改。

  2)修改函数内部全局变量的值。如果需要修改函数中的全局变量,需要使用global在函数内部声明num=10。

  def演示1():

  打印(演示1 - * 50)

  # global关键字,告诉Python解释器num是一个全局变量

  全局编号

  #然后修改全局变量。

  数量=100

  打印(数字)

  def demo2():

  打印(演示2 - * 50)

  打印(数字)

  演示1()

  演示2()

  打印(“结束”)运行结果:

  f:\ python 39 \ python.exe g:/pycharm/automated test/test-lab/a . py

  演示1 -

  100

  演示2 -

  100

  超过

  进程以退出代码03结束)全局变量定义的位置为了保证所有函数都能正确使用全局变量,全局变量应该定义在其他函数之上a=10。

  def演示():

  打印( %d % a )

  打印( %d % b )

  打印( %d % c )

  b=20

  演示()

  C=30注:由于全局变量C是在函数被调用后定义的,所以程序会报错,因为函数执行时变量还没有定义!

  代码结构图如下

  4)关于全局变量命名的建议。为了避免局部变量和全局变量混淆,有些公司在定义全局变量时有一些开发要求,比如全局变量名称前要加前缀g_或gl_等。提示:要求的具体格式可能因公司而异。

  期待陌生,拥抱惊喜。

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

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