有什么不同?

时间:2019-05-27 15:32:14

标签: python-3.7

我找不到以下代码之间的区别:

1。示例1

modules = ["os", "sys", "random"]
def intersection_sets(modules):
    #for module in modules:
    sets = [set(dir(__import__(module))) for module in modules]
    return set.intersection(*sets)

a = intersection_sets(modules)
print(a)

2。示例2

print(100*"=")
modules = ['os', 'sys', 'random']

def intersection_sets(modules):
    sets = [set(dir(__import__(module))) for module in modules]
    return set.intersection(*sets)

print(intersection_sets(modules))

2 个答案:

答案 0 :(得分:0)

a = intersection_sets(modules)
print(a)

在代码上方,将intersection_sets返回的值设置为a
在下面的代码中,显示intersection_sets

返回的值
print(intersection_sets(modules))

答案 1 :(得分:0)

两个代码样本都实现相同的结果/输出,但有两个细微差别。

第一个区别是在模块列表中。使用Python,您可以使用单引号或双引号编写字符串。只要关闭时使用与打开时相同的符号就没有关系。您也可以像这样混合它们:

modules = ['os', "sys", 'random']

第二个区别是打印函数结果的方式。当您使用返回值调用函数时,函数调用本身就等于返回值。因此,您可以将其保存为变量,然后如示例1所示打印该变量,也可以直接将其打印而无需如示例2所示进行保存。