企业网站建设太原网站建设,网站建设行业市场规模,扬中网站制作,如何进入正能量奖励网站变量是计算机内存中的一块区域#xff0c;变量可以存储规定范围内的值#xff0c;而且值可以改变。基于变量的数据类型#xff0c;解释器会分配指定内存#xff0c;并决定什么数据可以被存储在内存中。常量是一块只读的内存区域#xff0c;常量一旦被初始化就不能被改变。…变量是计算机内存中的一块区域变量可以存储规定范围内的值而且值可以改变。基于变量的数据类型解释器会分配指定内存并决定什么数据可以被存储在内存中。常量是一块只读的内存区域常量一旦被初始化就不能被改变。变量命名字母、数字、下划线组成不能以数字开头前文有说不在赘述。变量赋值Python中的变量不需要声明变量的赋值操作即是变量的声明和定义的过程。每个变量在内存中创建都包括变量的标识、名称、和数据这些信息。Python中一次新的赋值将创建一个新的变量。即使变量的名称相同变量的标识并不同。x 1 #变量赋值定义一个变量xprint(id(x)) #打印变量x的标识print(x5) #使用变量print(华丽的分割线)x 2 #量赋值定义一个变量xprint(id(x)) #此时的变量x已经是一个新的变量print(x5) #名称相同但是使用的是新的变量x继续赋值x hello pythonprint(id(x))print(x)此时x又将成为一个新的变量而且变量类型也由于所赋值的数据类型改变而改变。此处id()为Python的内置函数。参见https://docs.python.org/3/library/functions.html#id如果变量没有赋值Python将认为该变量不存在。Python支持多个变量同时赋值。例如a (1,2,3) #定义一个序列x,y,z a #把序列的值分别赋x、y、zprint(a : %d, b: %d, z:%d%(x,y,z)) #打印结果a, b, c 1, 2, john变量作用域局部变量是只能在函数或者代码块内使用的变量函数或者代码块一旦结束局部变量的生命周期也将结束。局部变量的作用范围只有在局部变量被创建的函数内有效。例如在文件1中的fun()中定义了一个局部变量则该局部变量只能被fun()访问文件1中定义的fun2()不能访问也不能被文件2访问。#fileName:file1def fun():local_var 100 #定义一个局部变量print(local_var)def fun2():zero local_var - 100 #fun2中使用局部变量(不可以)print(get zero : %d%zero)fun()#fun2()print(local_var -1 %d%(local_var - 1)) #文件1中使用局部变量(不可以)#################################Traceback (most recent call last):# File E:/python/file1.py, line 10, in # print(local_var -1 %d%(local_var - 1))#NameError: name local_var is not defined#################################Traceback (most recent call last):# File E:/python/file1.py, line 9, in # fun2()# File E:/lichenli/python/file1.py, line 6, in fun2# zero local_var - 100#NameError: name local_var is not defined#################################fileName:file2import file1file1.fun()print(local_var)#########################运行结果#100#Traceback (most recent call last):# File E:\python\file2.py, line 4, in # print(local_var)#NameError: name local_var is not defined########################fun()中定义的局部变量就只有fun能够访问。全局变量是能够被不同函数、类或文件共享的变量在函数之外定义的变量都叫做全局变量。全局变量可以被文件内任何函数和外部文件访问。#fileName:file1g_num1 1 #定义全局变量g_num2 2 #定义全局变量def add_num():global g_num1 #引用全局变量g_num1 3 #修改全局变量的值result g_num1 1print(result : %d%result)def sub_num():global g_num2g_num2 5result g_num2 - 3print(result : %d%result)add_num()sub_num()print(g_num1:%d %g_num1)print(g_num2:%d %g_num2)#result : 4 result为局部变量#result : 2#g_num1:3 全局变量g_num1在执行add_num()函数时被改变#g_num2:5 全局变量g_num2在执行sub_num()函数时被改变global保留字用于引用全局变量如果不适用global关键字在函数中再为g_num1赋值时将被解释为定义了一个局部变量g_num1。#添加到sub_num()函数定义之后add_num()函数调用之前def other():result g_num1 2 #直接适用全局变量不改变全局变量的值OKprint(result : %d%result)other()########################result : 3#result : 4#result : 2#g_num1:3#g_num2:5########################添加到sub_num()函数定义之后add_num()函数调用之前def other():g_num1 10result g_num1 2print(result : %d%result)other()#####################result : 12#result : 4#result : 2#g_num1:3#g_num2:5####################在文件2中访问全局变量。#fileName:file2import file1file1.add_num() #g_num1被改变test file1.g_num1 1print(test :%d%test)应该尽量避免使用全局变量。不同的模块可以自由的访问全局变量可能会导致全局变量的不可预知性。全局变量降低了函数或者模块之间的通用性不同的函数或模块都要依赖于全局变量。同样全局变量降低了代码的可读性阅读者可能不知道调用的某个变量是全局变量。常量常量是一旦初始化之后就不能修改的固定值。例如:数字5,字符串abc都是常量。Python中并没有提供定义常量的保留字。Python是一门功能强大的语言可以自己定义一个常量类来实现常量的功能。#fileName:const.pyclass _const:class ConstError(TypeError):passdef __setattr__(self,name,value):#if self.__dict__.has_key(name): 3.x之后has_key被废弃if name in self.__dict__:raise self.ConstError(Cant rebind const(%s)%name)self.__dict__[name] valueimport syssys.modules[__name__] _const()#fileName:const_2.pyimport constconst.namezhangsanconst.namelisi###################################Traceback (most recent call last):# File E:/python/const_2.py, line 4, in # const.namelisi# File E:/python\const.py, line 7, in __setattr__# raise self.ConstError(Cant rebind const(%s)%name)#const._const.ConstError: Cant rebind const(name)##################################name这个变量已经被赋值zhangsan不能继续被赋值所以抛出异常。raise保留字用于抛出异常。以上这篇深入理解Python变量与常量就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持脚本之家。