Python 函数中的默认值[重复]

2023-11-25

我注意到以下几点:

class c:
  def __init__(self, data=[]):
    self._data=data
a=c()
b=c()
a._data.append(1)
print b._data
[1]

这是正确的行为吗?


是的,这是正确的行为。

但是,从你的问题来看,这似乎不是你所期望的。

如果您希望它符合您的期望,请注意以下事项:

规则 1. 不要使用可变对象作为默认值。

def anyFunction( arg=[] ):

不会创建新的列表对象。默认列表对象arg将在各处共享。

相似地

def anyFunction( arg={} ):

不会创建新的 dict 对象。这个默认字典将被共享。

class MyClass( object ):
    def __init__( self, arg= None ):
        self.myList= [] if arg is None else arg 

这是提供默认参数值(即新的空列表对象)的常见方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 函数中的默认值[重复] 的相关文章

  • 如何查找 pandas 数据框中连续相同字符串值的计数?

    假设我们有以下 pandas 数据框 df pd DataFrame col1 A gt G C gt T C gt T G gt T C gt T A gt G A gt G A gt G col2 TCT ACA TCA TCA GCT
  • QSortFilterProxyModel + QAbstractItemModel modelIndex.internalPointer() 导致崩溃

    我在 PyQt 4 8 Python 2 7 中实现了自己的 QAbstractItemModel class FriendListModel QtCore QAbstractItemModel def init self groups c
  • 如何配置散景图以具有响应宽度和固定高度

    我使用通过组件功能嵌入的散景 实际上我使用 plot sizing mode scale width 它根据宽度进行缩放并保持纵横比 但我想要一个响应宽度但固定或最大高度 这怎么可能实现呢 有stretch both and scale b
  • OpenCV Python 删除图像中的某些对象

    我正在使用带有 opencv 和 numpy 的 python 来检测天文中的星星 例如这个1 https i stack imgur com AKwEJ jpg图片 使用模板匹配 我可以用阈值检测星星 单击 2 2 https i sta
  • 使用 Flask SQLAlchemy 进行表(模型)继承

    我遵循了这个建议question https stackoverflow com questions 1337095 sqlalchemy inheritance但我仍然收到此错误 sqlalchemy exc NoForeignKeysE
  • Python中#和"""注释的区别

    开始用 Python 编程 我看到一些带有注释的脚本 and comments 这两种评论方式有什么区别 最好的事情就是阅读PEP 8 Python 代码风格指南 https www python org dev peps pep 0008
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • Python 3.x 中的 PIL ImageTk 等效项

    我正在使用 Tkinter 开发一个应用程序 它使用以下数据库png图标的图像文件 为了在应用程序中使用所述图像 我使用 PIL 打开它们Image open 运行它通过ImageTk PhotoImage函数 然后将其传递给小部件构造函数
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • 打印一个 Jupyter 单元中定义的所有变量

    有没有一种更简单的方法来以漂亮的方式显示单个单元格中定义的所有变量的名称和值 我现在做的方式是这样的 但是当有30个或更多变量时我浪费了很多时间 您可以使用whos http ipython readthedocs io en stable
  • 超时时杀死或终止子进程?

    我想尽可能快地重复执行子进程 然而 有时这个过程会花费太长的时间 所以我想杀死它 我使用 signal signal 如下所示 ppid pipeexe pid signal signal signal SIGALRM stop handl
  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • pandas apply:函数名是否带引号的区别

    简单数据框定义示例 df pd DataFrame A 2 4 1 B 8 4 1 C 6 2 7 df A B C 0 2 8 6 1 4 4 2 2 1 1 7 尝试理解以下块中函数参数调用的差异 df apply sum df app
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • Python:使用列表创建二叉搜索树

    我的代码的目标是从 txt 文件中获取每个单独的单词并将其放入列表中 然后使用该列表创建二叉搜索树来计算每个单词的频率 并按字母顺序打印每个单词及其频率 中的每个单词只能包含字母 数字 或 我无法用我的初学者编程知识来做的部分是使用我拥有的
  • 通过套接字发送字符串(python)

    我有两个脚本 Server py 和 Client py 我心中有两个目标 能够从客户端一次又一次地向服务器发送数据 能够将数据从服务器发送到客户端 这是我的 Server py import socket serversocket soc
  • Synapse Notebook 参考 - 使用参数从另一个笔记本调用 Synapse Notebook

    我有一个带有参数的突触笔记本 我试图从另一个笔记本调用该笔记本 我正在使用 run 命令 我应该如何将参数从基本笔记本传递到正在调用的笔记本 另外 对我来说 上述答案不起作用 作为对此问题的单独解决方案 下面是一个答案 打开笔记本并转到最右
  • 在没有numpy的情况下在python中分配变量NaN

    大多数语言都有一个 NaN 常量 您可以使用它为变量分配值 NaN python 可以在不使用 numpy 的情况下做到这一点吗 是的 使用math nan https docs python org 3 library math html
  • Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错

    当我在 Elastic beanstalk 上托管的 Django 应用程序上查询 MySQL 时 出现错误 错误说 admin login 处出现操作错误 1045 用户 adminDB 172 30 23 5 的访问被拒绝 使用密码 Y

随机推荐

  • asp.net/C# 中的请求来源

    基本上 我需要知道 asp net C 中这个问题的答案 请求来源我希望我的其中一个页面知道哪个页面将用户定向到该特定页面 我尝试过对几个不同的页面属性进行智能感知 但找不到它 有什么帮助吗 听起来像你在寻找Request UrlRefer
  • 使用 XMLHttpRequest 上传多个文件到 Express.js 3.5 服务器

    我正在尝试使用 JavaScript 中的本机 FileAPI 构建文件上传器 并且希望通过 XMLHttpRequest 不带 jQuery 将文件上传到使用 Express js 的 Node js 服务器 文件读取部分工作正常 当我在
  • 动态如何用作泛型?

    如何使用动态作为泛型 This var x something not strongly typed callFunction
  • IIS Express + VS 2015 中的通配符主机名

    我有一个多租户应用程序 可以在生产中访问该应用程序customer ourdomain com 对于使用 IIS 进行本地开发 我们使用自定义通配符域 company localdev com 对于 IIS 无需任何特定配置即可实现此操作
  • MonoDroid 和 MonoTouch 的可移植类库

    我想为 MonoDroid 和 MonoTouch 创建 PCL 以共享代码 AES 加密 RijndaelManaged 但 Visual Studio 不允许我这样做 而是强制我添加所有其他框架 消息如下 将自动选择以下框架 因为它们支
  • Python - 不使用内置旋转方法旋转图像

    如何借助 OpenCV 库并通过更改图像的高度和宽度值 不使用 OpenCV 中的内置旋转方法 来旋转 Python 中的图像 它必须用两个嵌套循环来实现 img cv2 imread Images Screenshot png cv2 I
  • 当存在例如时,crossdomain.xml和clientaccesspolicy.xml的含义是什么? PHP/cURL?

    假设我有一个网站 但上面没有 crossdomain xml 或 clientaccesspolicy xml 这意味着人们无法通过 Silverlight 或 Flash 应用程序访问我的网站 但他们可以使用 PHP 中的 cURL 或其
  • 流星 SSL 连接

    我正在尝试通过 SSL TLS 连接到我的 Meteor 项目 因此我做了以下事情 流星添加力量 ssl 在流星文件夹中 然后我用 meteor 启动程序 一切都在本地主机上运行良好 但如果我想通过 http 提供 IP 和端口来连接到服务
  • PDO PHP 获取类

    我正在学习 php 中的 pdo 以便使数据库访问更容易 更高效 我读到的 fetch class 的一个解释是 对象的属性是在调用构造函数之前设置的 这是什么意思 任何方向都将受到高度赞赏 这意味着当使用PDO将结果返回到自定义对象时 需
  • 程序是否以兼容模式运行

    是否有一个我可以调用的 C NET 函数来检测我的程序是否在兼容模式下运行 如果没有 有人可以告诉我一个代码吗 谢谢 例如 程序加载完毕 兼容模式检查 如果为真则退出 否则运行 来自另一个论坛 经过几次谷歌搜索后 徒劳无功 我决定自己尝试一
  • ValueError:期望 x 为非空数组或数据集(Collab 上的 Tensor Flow lite 模型制作者)

    我正在关注this有关在 Collab 上使用 TensorFlow lite Model Maker 创建自定义模型的教程 import pathlib path pathlib Path content employee pics co
  • NetBeans (Java Swing):设置窗口大小

    这真让我抓狂 当我在设计模式下为窗口设置适当的大小时 它只会忽略该大小并在编译和运行时使用其他大小 即使很难 我设置了minimumSize和preferredSize 它只是忽略了这一点 为什么 如何设置自己的尺寸 即使你已经设置了尺寸m
  • 如何将事件绑定到按住的鼠标左键?

    我需要只要按住鼠标左键就执行命令 如果您希望在没有任何干预事件的情况下 发生某些事情 即 无需用户移动鼠标或按任何其他按钮 您唯一的选择就是轮询 按下按钮时设置标志 释放按钮时取消设置 轮询时 检查标志并运行您的代码 如果已设置 这里有一些
  • 适用于大量表的实体框架 4.1 (715)

    我正在为包含 700 多个表的数据库开发数据访问层 我创建了包含所有表格的模型 这生成了一个巨大的模型 然后我将模型更改为使用 4 1 中的 DBContext 这似乎改进了它的编译和工作方式 看来设计师根本就没有工作 然后我创建了一个测试
  • 错误:java:Intellij 中的源版本无效:8。这是什么意思?

    我尝试在使用 Intellij Ultimate 13 1 4 中编译一些代码 但出现以下错误 我不知道这意味着什么 Information Using javac 1 7 0 55 to compile java sources Info
  • ImageView 不会填充父级

    我的一个屏幕上有一个 ScrollView 我希望右边缘有阴影 我决定最简单的方法是使 ScrollView 的子视图成为relativelayout 并有两个relativelayout 的子视图 一个是 LinearLayout 用于容
  • Bash if 语句中的正则表达式匹配

    我在这里做错了什么 尝试匹配任何包含空格 小写字母 大写字母或数字的字符串 特殊字符也很好 但我认为这需要转义某些字符 TEST THIS is a TEST title with some numbers 12345 and specia
  • Tomcat 控制台日志到文件

    我在用着阿帕奇汤姆猫7 当我使用安全管理器运行 Tomcat Djava security debug范围我在控制台中收到了很多文本 我无法阅读控制台中的文本 所以我需要控制台登录到某个文件 我怎样才能实现这个目标 Remove Conso
  • 替换 R 数据框中因子列的内容

    我需要替换数据框中因子列的级别 使用iris以数据集为例 我将如何替换包含的任何单元格virginica with setosa in the Species column 我预计以下内容可以工作 但它会生成一条警告消息并简单地插入 NA
  • Python 函数中的默认值[重复]

    这个问题在这里已经有答案了 我注意到以下几点 class c def init self data self data data a c b c a data append 1 print b data 1 这是正确的行为吗 是的 这是正确