gpt4 book ai didi

Python-在脚本中多次重新分配对象变量-好的做法吗?

转载 作者:行者123 更新时间:2023-12-01 02:34:34 24 4
gpt4 key购买 nike

举例来说,我在“Scraper()”类中有一个函数“artistsearch”,它接受参数“website”、“artist”、“keyword”和“rangenum”,并且我想多次使用此函数在不同值的脚本中。通常的做法是像下面的示例一样简单地重新分配变量,还是有一种更Python式的方法来做到这一点?

# Set values for first instantiation

website="https://www.examplewebsitenumber1.com/"
artist="Da Vinci"
keyword="painting"
rangenum=7

# instantiate to object devinci
devinci=Scraper()

# run function
devinci.artistsearch(website, artist, keyword, rangenum)

# Set values for second instantiation

website="https://www.examplewebsitenumber2.com/"
artist="Gaudi"
keyword="sculpture"
rangenum=9
# instantiate to object gaudi
gaudi=Scraper()

# run function again with different values
gaudi.artistsearch(website, artist, keyword, rangenum)

and so on.........

最佳答案

重用变量是完全可以的(您只需将名称重新分配给其他内容),但在您的情况下,您似乎需要一个循环和一个字典列表作为关键字参数传递

arglist = [
{
website: "https://www.examplewebsitenumber1.com/",
artist: "Da Vinci",
keyword: "painting",
rangenum: 7
}, {
website:"https://www.examplewebsitenumber2.com/",
artist: "Gaudi",
keyword: "sculpture",
rangenum: 9
}
]

for args in arglist:
devinci = Scraper()
devinci.artistsearch(**args)
作为参数传递的

**args 与解压当前字典相同。示例:

devinci.artistsearch(
website="https://www.examplewebsitenumber2.com/",
artist="Gaudi",
keyword="sculpture",
rangenum=9
)

我当然不确定artistsearch中的参数名称,但你明白了(最坏的情况是创建一个列表列表并将参数作为位置传递,artistsearch( *args) 在这种情况下)

关于Python-在脚本中多次重新分配对象变量-好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401617/

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