python变量在创建和赋值后方可使用

提问人:熊垚曦时间:2021-09-08 18:26:34

最近对python变量在创建和赋值后方可使用这个问题挺纠结,大家给我点建议。

4个回答
路智

是指向同一个内存地址的,python的赋值是只是把变量的内存地址赋值给另一个变量,这一点可以使用python的内建方法id来进行测试,对于你给的例子我们假设'QH'这个字符串在内存中的地址是a,'LJQ'在内存中的地址是byou='QH'#让you变量指向a地址me=you#让me变量和you变量一样指向a地址you='LJQ'#修改you变量,让它指向到b地址printyou#可想而知you指向的是b地址,所以它的值为'LJQ'printme#me指向的是a地址,所以它的值为'QH'输出LJQQH可以使用ID来加强对python的赋值机制的理解>>>a='asdf'>>>id(a)4>>>b=a>>>id(b)4>>>a='haha'>>>id(a)2>>>id(b)4>>>a'haha'>>>b'asdf'

武子笼

在python中,变量是存储在内存中的值,也就意味着使用python中的变量会开辟内存空间,python解释器会根据变量类型去开辟不同的内存空间进行变量值的存储,当你的程序需要存储值内容的时候就需要用到变量。

在Python中,变量定义时不需要提前定义类型,解释器会自动进行定义,如果需要改变量的类型则需要使用另外的函数。在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可。但是,当用变量的时候,必须要给这个变量赋值;如果只写一个变量,而没有赋值,那么Python认为这个变量没有定义。

武晨旭

    用copy模块做个深拷贝

    不要有test属性,可以用delb.test

徐晟尧

你说的这个现象可能是动态语言特有的

在静态语言里比如c,C#,你声明了inta=10;再a=20;是不会重新创建一个地址的

而python没有单独的类型声明语句,所以你每次赋值都会新建

这也正式python之所以强大的一个方面比如下面的语句也是合法的

a=10

a='xyz'

如果你要用同一个地址那类型都不兼容了

但python允许就给了程序员灵活性

相关的问题
  • python在什么系统上开发环境变量

    默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。1.首先需要在系统中注册python环境变量假设python的安装路径为c:python27,则修改我的电脑>属性>高级>环境变量>系统变量中

  • 币安的合约在python的变量

    从交易量来说,币安合约是增长很快的加密衍生品平台,拥有经过认证、稳定、高速的撮合引擎。由复杂的风险引擎、智能清算模型、以及额外的高杠杆交易风险保障基金组成健全的风险管理系统,使币安合约成为市场上具竞争力的合约产品。

  • 在python中什么是变量

    变量就是一个名字,里面存放的具体内容是程序里通过赋值语句来改变。在表达式运算时,只需要用变量名来组成式子,具体运算结果就按照运算时变量里具体存放的内容来运算。

  • 在python中如何查看变量的类型

    方法如下type(变量),输出的结果就是变量的类型;在Python里面变量在声明时,不需要指定变量的类型,变量的类型是动态指定的;也就是说变量的类型,根据给出的赋值语句决定。

  • python在双引号里输出变量

    print("python怎么用双引号打印输出一句话")

  • python存在实例变量优先访问实例变量

    9.3.5.类和实例变量一般来说,实例变量用于对每一个实例都是唯一的数据,类变量用于类的所有实例共享的属性和方法:classDog:kind='canine'#def__init__(self,name):self.na

  • python中变量在内存中存在吗

    原理python中任何变量都是对象,所以参数只支持引用传递方式。即通过名字绑定的机制,把实际参数的值和形式参数的名称绑定在一起,形式参数和实际参数指向内存中的同一个存储空间。回答问题2每一次给变量赋值就是把这个名称的值在一个新内存中存储你print(id(a))会发现每一次f(x),a的内存地

  • python怎么在类里定义变量

    data=gdal.Open(file_path)改成data=gdal.Open(self.file_path)__init__会初始化实例,self.file_path=fl是把fl的值赋到实例里面,你访问file_path,这个根本没定义过,肯定报错。抽空补一下基础吧,还是非常重要的。我

  • python在class外的变量

    :s=或者:globalss=5aaaprints要在函数外部访问函数的内部变量,要么使用return将其返回到外部,要么用global定义为全局变量。推荐前一种。def只是定义函数,你还没有调用和执行该函数。此外,要在控制台输出,你可以

  • python怎么在引号里用变量

    用字符串格式化,前面占坑,后面变量去填坑。>>>'{0},{1},{2}'.format('a','b','c')'a,b,c'>>>'{},{},{}'.format('a','b'

与后方相关的问题