python - 如何使用 *args 连接无限参数
问题描述
我正在编写一个依赖 txt 文件的 python 数据库。我有一个有一些参数的函数。这是基本代码:
def store_new_content(mainfield,filename,f1 = None,f2 = None,f3 = None,*arg):
file1 = open(f"{filename}.txt","w")
name1 = f":{f1}"
name2 = f":{f2}"
name3 = f":{f3}"
unlimitedname= f":{arg}"
file1.write(f"{name}{name1}{name2}{name3}{arg} \n")
看起来很正常吧?错误的。所以我希望 filename.txt 中的结果是 f1:f2:f3:f4:f5:f6:f7 等等。但它以 f1:f2:f3(f4,f5,f6,f7) 的形式出现。那么我如何让它正确地出现,顺便说一句 f4,f5,f6,f7 来自 *args。如果不可能的话,有人知道如何拥有可以整齐地输出的无限参数吗?
解决方案
arg
是传递给你的函数的其他参数的列表,你可以简单地加入这个数组的元素,就像 python 中的任何列表一样。
>>> def test(*arg):
... print(':'.join(arg))
...
>>> test('f1', 'f2', 'f3')
f1:f2:f3
推荐阅读
- r - 为什么以下函数的性能不会因增加一个额外的对象而受到惩罚?
- php - foreach PHP中的for循环
- java - Spring-boot中的Json对象值操作
- ios - 如何为项目中所有目标的某些文件禁用 ARC?
- laravel-5.5 - 请求的包 nesbot/carbon(锁定在 1.31.1,要求为 1.22.*)
- symfony - “服务 xxx 依赖于不存在的服务”这似乎不正确?
- c# - Oracle OleDB 和 LONG 数据类型
- java - spring jdbcTemplate 是否会清理 URL?
- java - Intellij OutOfMemoryError:使用 Scala 的 PermGenSpace
- android - 从android中的领域数据库中过滤数据时更新列表