Python中文
首页
教程
问答
标签
搜索
登录
注册
这个python脚本是如何工作的?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我一直在和python打交道,遇到了一些我不能完全理解的事情。我有以下代码:</p> <pre><code>class test1: def __init__(self): self.__name = "Test" def getName(self): return self.__name def setName(self, name): self.__name = name class test2: def __init__(self): self.__test1 = test1() def getTest1(self): return self.__test1 def setTest1Name(self, name): test = self.getTest1() test.setName(name) var = test2() var.setTest1Name("This works...") print var.getTest1().getName() #returns "This works" rather than "Test" </code></pre> <p>这里让我困惑的是,setTest1Name()方法实际上更改了test2实例的“\u test1”字段的“\u name”字段。我所期望的是<code>test = self.getTest1()</code>行将创建一个绑定到名称“test”的新test1实例,该名称将是test2实例的“\uu test1”字段的副本。然后<code>test.setName(name)</code>行将更改新“test”变量的“\uu name”字段,而不是test2实例的“\uu test1”字段的“\uu name”字段</p> <p>简而言之:为什么这个脚本要打印“this works…”而不是“Test”</p> <p>还有。。。利用这一点是不好的做法吗?如果是这样,有什么更好的选择</p> <p>(我为这个模糊的标题道歉。我不知道这个问题的标题是什么。)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>普通赋值不会复制Python中的任何内容<code>test = self.getTest1()</code>不将<code>test</code>设置为<code>self.__test1</code>的副本;它将<code>test</code>设置为与<code>self.__test1</code>相同的对象。谷歌和搜索这个网站的字面上成千上万的其他问题和讨论</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
7 回答
当用户登录到站点时,如何显示不同的导航栏
7 回答
当用户登录时,在Flask中向用户显示处理结果
4 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
2 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
9 回答
当用户的付款逾期2天时,从Django模型检索数据
3 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
1 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
4 回答
当用户确定打印数量时,使用Matplotlib打印动画
3 回答
当用户离开时是否可以删除整个网页?
5 回答
当用户给出一个单词时如何打印?
2 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
4 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
10 回答
当用户被更改时,消息不会来自web套接字
3 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
6 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
4 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
9 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
6 回答
当用户购买某个类别时,是否查找其他类别的销售?
9 回答
当用户转到上一页时,Django和芹菜插入操作
8 回答