开发者社区> tianjixuetu> 正文

python--类-实例-继承中变量的id是否变化

简介: python--类-实例-继承中变量的id是否变化
+关注继续查看
'''
注: 估计这么乱的代码只有我自己能看。通过这段代码的验证,证明了在类和实例的相对关系中,
把变量保存为字符串,数字,在各个类、实例之间变换的时候,变量的id是变化的,
把变量保存为列表和字典的时候,id地址是不变的。id地址变与不变用于确认是否是同一份数据,
看一下这个变量是否是全局变量
'''
class InitParam(object):
    def __init__(self):
        self.name={}
        print(id(self.name))
        
    def set_name(self,name,score):
        self.name[name]=score
        
    def get_name_id(self):
        print(id(self.name))
        
params=InitParam()
params.name    
params.get_name_id()
    
class pyquantbook():
    def __init__(self,params):
        self.name=params.name
        print(id(self.name))
    def set_name(self,name,score):
        self.name[name]=score
        
    def get_name_id(self):
        print(id(self.name)) 
 
book=pyquantbook(params)
book.set_name('guowenjie',60)
book.name
book.get_name_id()
 
class A():
    def __init__(self,book):
        self.name=book.name
    def set_name(self,name,score):
        self.name[name]=score
        
    def get_name_id(self):
        print(id(self.name)) 
    
a=A(book)
print(a.name)
print(id(a.name))
book.set_name('yunjinqi',60)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python中轻松声明变量和使用
python中轻松声明变量和使用
17 0
python中使用pycharm变量与程序调试
python中使用pycharm变量与程序调试
19 0
一日一技:在Python里面判断多个变量全部/任意不为空
一日一技:在Python里面判断多个变量全部/任意不为空
15 0
Lesson 3. 线性回归的手动实现(3.1 变量相关性基础理论 & 3.2 数据生成器与 Python 模块编写)
Lesson 3. 线性回归的手动实现(3.1 变量相关性基础理论 & 3.2 数据生成器与 Python 模块编写)
21 0
深入理解Python中的ThreadLocal变量(上)
深入理解Python中的ThreadLocal变量(上)
18 0
Python 的 __name__ 变量及其应用
__name__ 是 Python 中的一个特殊变量,它代表当前模块的名字。 当一个 Python 文件被直接运行的时候,__name__ 的值会被设置为 __main__。 当代码被导入到其他模块中运行时,__name__ 的值会被设置为模块名称。
37 0
Python_关于多线程下变量赋值取值的一点研究
Python_关于多线程下变量赋值取值的一点研究
19 0
Python 再谈变量作用域与变量引用
Python 再谈变量作用域与变量引用
25 0
+关注
tianjixuetu
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
双剑合璧-Python和大数据计算平台的结合
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多