Python中文
首页
教程
问答
标签
搜索
登录
注册
Python可选参数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>伙计们,我最近刚开始使用python,对可选参数感到困惑,比如我有这样的程序:</p> <pre><code>class B: pass class A: def __init__(self, builds = B()): self.builds = builds </code></pre> <p>如果我创造了两次</p> <pre><code>b = A() c = A() </code></pre> <p>打印他们的版本</p> <pre><code>print b.builds print c.builds </code></pre> <p>我发现他们用的是同样的东西</p> <pre><code><__main__.B instance at 0x68ee0> <__main__.B instance at 0x68ee0> </code></pre> <p>但这不是我想要的,因为如果<code>b</code>更改了生成的某些内部状态,那么<code>c</code>对象中的状态也将更改。</p> <p>是否可以使用此可选参数语法每次重新创建此可选参数?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您需要执行以下操作:</p> <pre><code>class A: def __init__(self, builds=None): if builds is None: builds = B() self.builds = builds </code></pre> <p>这是一个非常广泛的错误,使用可变参数作为默认参数。可能会有很多人上当受骗。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在PyObj中使用respondsToSelector和performSelector
4 回答
如何在pyobj中停止线程
2 回答
如何在pyobj中生成线程
4 回答
如何在pyodbc中为记录集指定游标类型?
3 回答
如何在pyodbc中从用户处获取表名,同时避免SQL注入?
10 回答
如何在pyodbc中使用executemany运行多个SELECT查询
6 回答
如何在pyodbc中同时在n个游标上并行运行n个进程?
9 回答
如何在pyodbc中控制连接池的大小?
4 回答
如何在pyodbc中自动调用fetchall()而不进行异常处理?
7 回答
如何在pyODBC查询中参数化日期戳?
5 回答
如何在pyodbc输出转换器函数中解压sqlserver DATETIME?
8 回答
如何在pyodb中安装所有驱动程序
3 回答
如何在pyodb嵌套循环中调用不同的查询
4 回答
如何在pyomo.environ公司modu装置
8 回答
如何在Pyomoconstraints中建模逻辑或量词
9 回答
如何在Pyomo中为约束使用数组
9 回答
如何在pyomo中使用集和范围集的多级索引?
10 回答
如何在PYOMO中分配伪二进制变量
6 回答
如何在Pyomo中创建OR约束?
7 回答
如何在Pyomo中动态地将变量添加到列表中?
9 回答