python - 在函数调用中将“self”作为参数传递?
问题描述
在我的 gui 应用程序(PyQt 5)中,我有几个代码片段重复出现在不同的模块中。这是一个例子:
save_file = QFileDialog.getSaveFileName(
self,
"Save",
directory="path/to/filename"
)
save_path = save_file[0]
我想过为此编写一个函数:
def save_file(obj, title, preset):
save_file = QFileDialog.getSaveFileName(obj, title, preset)
save_path = save_file[0]
return save_path
每当我需要它(在某个类中)时,我都会这样称呼它:
save_file(self, "Save testfile", os.path.join(file_path, file_name))
在这种情况下,我必须将self
其作为参数传递给我的函数。这个可以吗?我知道我可以将一个类的实例作为参数传递。但是self
在方法中调用函数时直接传递是个好主意吗?我在互联网上找不到太多关于它的信息。
解决方案
这很好,尽管惯例是使用以下格式:
self.save_file("Save testfile", "path/to/filename")
虽然save_file
应该可能在一个类中,并且它的方法定义看起来像:
def save_file(self, title, preset):
...
推荐阅读
- javascript - Sails js错误:握手不活动超时
- node.js - 如何通过在猫鼬中分组返回两个匹配条件的计数值?
- scala - spark scala 如何计算自 1970-01-01 以来的天数
- c# - 从计划任务运行的另一个 DotNet EXE 运行 DotNet exe
- html - 自定义旋转框箭头
- python-3.6 - Python 脚本运行但不工作并且没有抛出错误
- python - 如何在 SQLite 中使用 peewee 更改字段的数据类型
- sql - 在 postgres Sql 中按级别和 regexp_substr 连接
- amazon-web-services - 我可以从多个 SQS 触发相同的 AWS lambda 吗?
- javascript - 循环将在 Google Sheets 脚本中查找和删除特定行