gpt4 book ai didi

Python: "Multiple"函数中有多个参数

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:19 26 4
gpt4 key购买 nike

我是 Python 新手,但我知道我可以使用 *args 在函数中允许可变数量的多个参数。

此脚本在任意数量的字符串 *sources 中查找 word:

def find(word, *sources):
for i in list(sources):
if word in i:
return True

source1 = "This is a string"
source2 = "This is Wow!"

if find("string", source1, source2) is True:
print "Succeed"

但是,是否可以在一个函数中指定“多个” 多个参数 (*args)?在这种情况下,这将在多个 *sources 中寻找多个 *words

比喻地说:

if find("string", "Wow!", source1, source2) is True:
print "Succeed"
else:
print "Fail"

我怎样才能让脚本辨别什么是word,什么是source

最佳答案

不,你不能,因为你无法区分一种元素在何处停止,而另一种元素在何处开始。

让您的第一个参数接受单个字符串或序列,而不是:

def find(words, *sources):
if isinstance(words, str):
words = [words] # make it a list
# Treat words as a sequence in the rest of the function

现在你可以这样调用它:

find("string", source1, source2)

find(("string1", "string2"), source1, source2)

通过显式传入一个序列,您可以将它与多个来源区分开来,因为它本质上只是一个参数。

关于Python: "Multiple"函数中有多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com